Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
хорошо я согласен Member Откуда: Сообщений: 393 |
У меня был вполне краткий XSD, сгенерированный с помощью SSIS
Но сам же SSIS на эту же схему "ругался" на то, что не задано ограничение на длину строки. Пришлось впихать везде, где стоит тип string один и тот же блок simple type, в результате чего xsd раздулся:
Оно работает отлично. Вот только нельзя ли как-то по-короче? Любые попытки создать отдельный тип "LimitedString" и использовать его приводили к ошибке "не найден тип LimitedString" или типа того. Например, добавляю <xs:simpleType name="LimitedString"> <xs:restriction base="xs:string"> <xs:pattern value="[0-9]{0,10}" /> <xs:maxLength value="10" /> </xs:restriction> </xs:simpleType> сразу после <xs:sequence> в пятой строке и заменяю все xs:string на LimitedString. Получаю то, что на скриншоте. Как правильно сформатировать XSD? К сообщению приложен файл. Размер - 23Kb |
||
29 сен 19, 19:02 [21982072] Ответить | Цитировать Сообщить модератору |
PsyMisha Member Откуда: другая столица Сообщений: 799 |
хорошо я согласен, Попробуйте создать схему через консольную утилиту xsd.exe, идущую вместе с Visual Studio, лежит в рабочем каталоге VS. У меня ни разу ни одной проблемы с работой не было после той схемы, которую выплевывала эту тулза |
30 сен 19, 09:06 [21982337] Ответить | Цитировать Сообщить модератору |
хорошо я согласен Member Откуда: Сообщений: 393 |
не помогло. Ни одна из его опций не позволяет добавлять ограничения на длину строк. Указывается просто тип "string". Вопрос в том, как создать свой тип и использовать его? |
3 окт 19, 17:54 [21986128] Ответить | Цитировать Сообщить модератору |
aleks222 Member Откуда: Сообщений: 1244 |
sql:datatype="nvarchar(4000)" <?xml version="1.0" encoding="utf-8"?> <xs:schema xmlns:sql="urn:schemas-microsoft-com:mapping-schema" > <xs:element name="HotelExportFullDtoApi" sql:relation="[mouzenidis_IL_HotelExportFullDtoApi]" sql:key-fields="loadKey Id" sql:overflow-field="OverflowColumn" > <xs:complexType> <xs:sequence> <xs:element name="Beaches" type="xs:string" minOccurs="0" sql:datatype="nvarchar(4000)" /> |
||
3 окт 19, 18:11 [21986145] Ответить | Цитировать Сообщить модератору |
Владислав Колосов Member Откуда: Сообщений: 8350 |
хорошо я согласен, Вам обязательно валидировать данные? Настройте типы и размеры колонок входов и выходов в расширенном редакторе. |
3 окт 19, 18:12 [21986147] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |