|
Загрузка классификатора ФИАС в MS SQL | ☑ | ||
---|---|---|---|---|
0
АЛьФ
23.04.19
✎
16:54
|
Загружаю ФИАС из XML в SQL. Все нормально, но вот строковые элементы почему-то все формируют колонки с типом "nvarchar(1000)", хотя в xsd есть описание типа такого:
<xs:attribute name="AOGUID" use="required"> <xs:annotation> <xs:documentation>Глобальный уникальный идентификатор адресного объекта </xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:length value="36"/> </xs:restriction> </xs:simpleType> </xs:attribute> Насколько я понимаю, длина явно задана. Кто-нибудь с таким сталкивался? Есть решение без явного указания типа через "sql:datatype"? Полдня убил в поисковиках. |
|||
1
АЛьФ
24.04.19
✎
08:49
|
Решение так и не найдено.
|
|||
2
trad
24.04.19
✎
09:38
|
видимо алгоритм, который создает структуру таблицу, в схему не очень смотрит
|
|||
3
АЛьФ
24.04.19
✎
10:48
|
2(2) Таблицы создаются и загружается XML с помощь spXMLBulkLoad. Вроде как ни у кого, судя по форумам, проблем с ней не возникало.
|
|||
4
АЛьФ
24.04.19
✎
11:56
|
Надежда на подсказку еще теплится...
|
|||
5
trad
24.04.19
✎
12:39
|
как я понял их этого
https://docs.microsoft.com/ru-ru/previous-versions/sql/sql-server-2005/ms172715(v%3dsql.90) https://docs.microsoft.com/ru-ru/previous-versions/sql/sql-server-2005/ms172634(v%3dsql.90) - bulk load с типами особо не заморачивается имхо твой путь - создавать таблицы с нужной тебе структурой перед загрузкой |
|||
6
АЛьФ
24.04.19
✎
12:57
|
2(5) Первая ссылка на 404. Вторая о преобразовании типов, это я читал.
Если создавать таблицы со свой структурой, то получится как-то: - создаем свои таблицы; - грузим xml в создаваемые автоматом таблицы; - переносим загруженные данные в свои таблицы. Вот этого всего геморроя и хотелось бы избежать. Но по всему выходит, что придется капитально корректировать xsd. |
|||
7
trad
24.04.19
✎
13:10
|
(6) Первая ссылка на 404.
это косорукая миста скопируй строку, а не кликай (в ссылку скобка не попала) |
|||
8
АЛьФ
24.04.19
✎
13:12
|
2(7) Да, спасибо. Отвык от местного движка.
|
|||
9
trad
24.04.19
✎
13:20
|
(6) "- создаем свои таблицы;
- грузим xml в создаваемые автоматом таблицы; - переносим загруженные данные в свои таблицы. " а разве он не загрузит в твои таблицы если они будут называться должным образом? |
|||
10
АЛьФ
24.04.19
✎
17:34
|
2(9) Нет, он пересоздает таблицы.
|
|||
11
trad
24.04.19
✎
19:00
|
А текст хранимки где взял?
Я среди штатных не нашел |
|||
12
zehn
24.04.19
✎
19:14
|
(10) Если речь про https://docs.microsoft.com/en-us/sql/relational-databases/sqlxml-annotated-xsd-schemas-xpath-queries/bulk-load-xml/sql-server-xml-bulk-load-object-model-sqlxml-4-0?view=sql-server-2017 то там есть SchemaGen и SGDropTables, которые при установках по умолчанию вроде ичего не создают.
Что за spXMLBulkLoad? |
|||
13
Сияющий в темноте
24.04.19
✎
22:09
|
Просто,расчет на тех,у кого типа гуид нету,а почему строки такого типа,нужно спрашивать у самого sql,но при загрузке 36 символов,вроде как место должно выделяться под 38,то есть ц на размер.
а научить понимать гуиды-это свою загрузку писать. |
|||
14
АЛьФ
25.04.19
✎
10:03
|
spXMLBulkLoad взял в теме загрузки ФИАС в SQL на sql.ru. Простенькая процедурка, просто обертка вокруг объекта "SQLXMLBulkLoad.SQLXMLBulkload".
Короче, прописал в xsd типы напрямую с помощью "sql:datatype". |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |