Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
загрузка xml
|
|||
|---|---|---|---|
|
#18+
Нужна помощь! загружаю xml файл в таблицу. В файле есть данные такого типа: <docno>БРн-057</docno> <currencycode>Рубль</currencycode> <comment>Расходная накладная №БРн-057 от 25.10</comment> которые загружаться не хотят (illegal xml character) код, который загружает эти элементы: isnull(t.rows.value('docno[1]','nvarchar(255)'),'') as [docno], isnull(t.rows.value('currencycode[1]','nvarchar(255)'),'') as [currencycode], Подскажите, как исправить ошибку, как правильно выгрузить данные? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2008, 14:27 |
|
||
|
загрузка xml
|
|||
|---|---|---|---|
|
#18+
А файл в какой кодировке ? А какой encoding указан в нем ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2008, 14:51 |
|
||
|
загрузка xml
|
|||
|---|---|---|---|
|
#18+
<?xml version="1.0" encoding="utf-8"?> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2008, 15:02 |
|
||
|
загрузка xml
|
|||
|---|---|---|---|
|
#18+
ребят помогите пожалуйста, проблема осталась... хоть какие-нибудь идеи... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2008, 10:55 |
|
||
|
загрузка xml
|
|||
|---|---|---|---|
|
#18+
Bruin_Baluребят помогите пожалуйста, проблема осталась... хоть какие-нибудь идеи... А на вопросы ответите ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2008, 10:56 |
|
||
|
загрузка xml
|
|||
|---|---|---|---|
|
#18+
Bruin_Balu<?xml version="1.0" encoding="utf-8"?> вроде такая кодировка, или Вы что-то другое имеете ввиду? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2008, 10:58 |
|
||
|
загрузка xml
|
|||
|---|---|---|---|
|
#18+
Bruin_BaluBruin_Balu<?xml version="1.0" encoding="utf-8"?> вроде такая кодировка, или Вы что-то другое имеете ввиду? Вопроса было два А файл в какой кодировке ? А какой encoding указан в нем ? Вы ответили на второй ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2008, 10:59 |
|
||
|
загрузка xml
|
|||
|---|---|---|---|
|
#18+
хм... затрудняюсь ответить на Ваш вопрос... файл я скачиваю с FTP в таком виде: <?xml version="1.0" encoding="utf-8"?> <docs> <doc> <A>text1</A> <B>text2<B> <C>2008-10-17</C> <docno>БРн-015</docno> <comment>Расходная накладная №БРн-057 от 25.10</comment> <currencycode>Рубль</currencycode> <D>1</D> </doc> </docs> задача загрузить эти данные в реляционные таблицы (MS SQL Server 2005)... не загружаются только эти данные <docno>БРн-015</docno> <comment>Расходная накладная №БРн-057 от 25.10</comment> <currencycode>Рубль</currencycode> т.е. если их "руками" удалить из файла, все остальное в таблицу загрузится корректно. Как определить кодировку файла? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2008, 11:10 |
|
||
|
загрузка xml
|
|||
|---|---|---|---|
|
#18+
Если открыть файл в Notepad, выбрать Save as то какое значение будет в Encoding ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2008, 11:14 |
|
||
|
загрузка xml
|
|||
|---|---|---|---|
|
#18+
Bruin_BaluUTF-8 И как и куда именно вы загружаете этот файл в MSSQL ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2008, 11:29 |
|
||
|
загрузка xml
|
|||
|---|---|---|---|
|
#18+
данные вставляю в таблицу USE [Test] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[test_table]( [A] [nvarchar](max) NULL, [B] [nvarchar](max) NULL, [C] [nvarchar](max) NULL, [docno] [nvarchar](max) NULL, [currencycode] [nvarchar](max) NULL, [comment] [nvarchar](max) NULL, [D] [nvarchar](max) NULL ) ON [PRIMARY] примерно так: declare @FilePath nvarchar(250) set @FilePath= '' declare @SQLString nvarchar(2000) declare @xml xml set @SQLString='select @xml_out = (SELECT dxml.* FROM OPENROWSET(BULK N'''+@FilePath+''', SINGLE_CLOB) as dxml )' exec sp_executesql @SQLString,N'@xml_out xml output', @xml_out = @xml output if object_id(N'tempdb..#xml ') is not null drop table #xml select isnull(t.rows.value('(A)[1]','nvarchar(MAX)'),'') as [A], isnull(t.rows.value('(B)[1]','nvarchar(MAX)'),'') as [B], isnull(t.rows.value('(C)[1]','nvarchar(MAX)'),'') as [C], isnull(t.rows.value('(docno)[1]','nvarchar(MAX)'),'') as [docno], isnull(t.rows.value('(currencycode)[1]','nvarchar(MAX)'),'') as [currencycode], isnull(t.rows.value('(comment)[1]','nvarchar(MAX)'),'') as [comment], isnull(t.rows.value('(D)[1]','nvarchar(MAX)'),'') as [D], into #xml from @xml.nodes('/docs/doc') as t(rows) Insert into [test].[dbo].[test_table] select * from #xml ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2008, 12:03 |
|
||
|
загрузка xml
|
|||
|---|---|---|---|
|
#18+
А почему SINGLE_CLOB, если у вас кодировка UTF8 ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2008, 12:08 |
|
||
|
загрузка xml
|
|||
|---|---|---|---|
|
#18+
если поставить SINGLE_NCLOB пишет: SINGLE_NCLOB requires a UNICODE (widechar) input file. The file specified is not Unicode. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2008, 12:19 |
|
||
|
загрузка xml
|
|||
|---|---|---|---|
|
#18+
Bruin_Baluесли поставить SINGLE_NCLOB пишет: SINGLE_NCLOB requires a UNICODE (widechar) input file. The file specified is not Unicode. Тогда придется файл записывать в ANSI кодировке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2008, 12:22 |
|
||
|
загрузка xml
|
|||
|---|---|---|---|
|
#18+
Bruin_Balu, а теперь открываем FAR по F4 файл и смотрим..... скорее всего файл таки не в юникоде, сие ві сразу увидите ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2008, 12:24 |
|
||
|
загрузка xml
|
|||
|---|---|---|---|
|
#18+
Bruin_Baluесли поставить SINGLE_NCLOB пишет: SINGLE_NCLOB requires a UNICODE (widechar) input file. The file specified is not Unicode. А если поставить SINGLE_CLOB то: XML parsing: line 11, character 6, end tag does not match start tag ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2008, 15:21 |
|
||
|
загрузка xml
|
|||
|---|---|---|---|
|
#18+
ага, прошу прощения: <?xml version="1.0" encoding="utf-8"?> <docs> <doc> <A>text1</A> <B>text2</B> <C>2008-10-17</C> <docno>БРн-015</docno> <comment>Расходная накладная №БРн-057 от 25.10</comment> <currencycode>Рубль</currencycode> <D>1</D> </doc> </docs> не загружаются только русские символы. Дело не базе: для теста достаточно проверить этот код: declare @FilePath nvarchar(250) set @FilePath= '' declare @SQLString nvarchar(2000) declare @xml xml set @SQLString='select @xml_out = (SELECT dxml.* FROM OPENROWSET(BULK N'''+@FilePath+''', SINGLE_CLOB) as dxml )' exec sp_executesql @SQLString,N'@xml_out xml output', @xml_out = @xml output кодировка точно UTF-8 Если пересохранить этот файл в формат Unicode и удалить encoding="utf-8" (поменять еще в коде на SINGLE_NCLOB) то выгружается корректно... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2008, 15:33 |
|
||
|
загрузка xml
|
|||
|---|---|---|---|
|
#18+
MniorBruin_Baluесли поставить SINGLE_NCLOB пишет: SINGLE_NCLOB requires a UNICODE (widechar) input file. The file specified is not Unicode. А если поставить SINGLE_CLOB то: XML parsing: line 11, character 6, end tag does not match start tagА вот через sp_OACreate: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2008, 15:34 |
|
||
|
загрузка xml
|
|||
|---|---|---|---|
|
#18+
Mnior, действительно, работает на ура! только мне до сих пор непонятно чем мой метод был плох? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2008, 15:45 |
|
||
|
загрузка xml
|
|||
|---|---|---|---|
|
#18+
Bruin_BaluMnior, действительно, работает на ура! только мне до сих пор непонятно чем мой метод был плох? Тем, что "SQL Server 2005 stores XML data using the UTF-16 encoding scheme." ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2008, 15:47 |
|
||
|
загрузка xml
|
|||
|---|---|---|---|
|
#18+
Огромное всем спасибо за помощь! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2008, 15:50 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=35601352&tid=1687766]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
56ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
73ms |
get tp. blocked users: |
2ms |
| others: | 231ms |
| total: | 404ms |

| 0 / 0 |
