Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Не читается XML  [new]
defragmentator
Member

Откуда:
Сообщений: 20504
Добрый день!
MS SQL 2008
Пытаюсь выполнить
BULK INSERT Table_3 FROM 'E:\DATA\22-02-2012_08-50.xml'
, где Table_3 - таблица с одним полем типа xml.
Получаю сообщение об ошибке:

Msg 2775, Level 17, State 12, Line 2
Кодовая страница 866 не поддерживается сервером.


Смотрю xml, вроде кодировка 1251:
<?xml version="1.0" encoding="windows-1251"?>
29 фев 12, 13:17    [12169543]     Ответить | Цитировать Сообщить модератору
 Re: Не читается XML  [new]
Glory
Member

Откуда:
Сообщений: 104751
defragmentator
Смотрю xml, вроде кодировка 1251:
<?xml version="1.0" encoding="windows-1251"?>

Это строка _внутри_ файла не имеет никакого отношения к кодовой странице самого файла
29 фев 12, 13:19    [12169564]     Ответить | Цитировать Сообщить модератору
 Re: Не читается XML  [new]
defragmentator
Member

Откуда:
Сообщений: 20504
Смотрю файл вьюером. Насколько я понимаю, кодировка Windows и есть 1251.

К сообщению приложен файл. Размер - 51Kb
29 фев 12, 13:22    [12169612]     Ответить | Цитировать Сообщить модератору
 Re: Не читается XML  [new]
defragmentator
Member

Откуда:
Сообщений: 20504
Как поточнее определить кодировку?
29 фев 12, 13:24    [12169630]     Ответить | Цитировать Сообщить модератору
 Re: Не читается XML  [new]
defragmentator
Member

Откуда:
Сообщений: 20504
В Excel XML - файл без проблем открывает, всё по столбцам, всё русифицировано. Непонятно, откуда проблемы.
29 фев 12, 15:12    [12171126]     Ответить | Цитировать Сообщить модератору
 Re: Не читается XML  [new]
gds
Member

Откуда: Железнодорожный
Сообщений: 1842
Блог
defragmentator
В Excel XML - файл без проблем открывает, всё по столбцам, всё русифицировано. Непонятно, откуда проблемы.

А открываете на сервере?
29 фев 12, 15:16    [12171168]     Ответить | Цитировать Сообщить модератору
 Re: Не читается XML  [new]
defragmentator
Member

Откуда:
Сообщений: 20504
gds
defragmentator
В Excel XML - файл без проблем открывает, всё по столбцам, всё русифицировано. Непонятно, откуда проблемы.

А открываете на сервере?

Да, Excel на сервере есть
29 фев 12, 15:39    [12171446]     Ответить | Цитировать Сообщить модератору
 Re: Не читается XML  [new]
кириллk
Member

Откуда:
Сообщений: 1062
defragmentator,

у csv такую проблему решил через schema.ini

может для xml он тоже нужен?
29 фев 12, 15:41    [12171463]     Ответить | Цитировать Сообщить модератору
 Re: Не читается XML  [new]
defragmentator
Member

Откуда:
Сообщений: 20504
кириллk
defragmentator,

у csv такую проблему решил через schema.ini

может для xml он тоже нужен?


А поподробнее? Надо схему рисовать ?
Ни разу не пробовал. Где описано, как делать?


Кстати, если пробовать вставлять построчно
BULK INSERT Table_2 FROM 'E:\SHERPDATA\22-02-2012_08-50.xml'
WITH (DATAFILETYPE = 'char', ROWTERMINATOR = '>\r')

в поле типа varchar(MAX), то первые несколько строк почему-то пропадают.
Может, что не так там, не пойму.
<?xml version="1.0" encoding="windows-1251"?>
<report-dispet-ds xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <report-header>
    <datetimeStart xsi:nil="true"/>
    <datetimeEnd>2012-02-22T08:56:00.000</datetimeEnd>
    <report-name>dispet</report-name>
    <report-label>Отчет диспетчера</report-label>
    <report-id>50/2034</report-id>
    <report-db-num>0</report-db-num>
    <task-num>31</task-num>
    <report-parameters>
      <report-id>50/2034</report-id>
      <parameter-name>p-data-datetime</parameter-name>
      <parameter-label>Дата-время</parameter-label>
      <parameter-value-type>character</parameter-value-type>
      <parameter-value>22/02/2012 08:50:03.000</parameter-value>
      <parameter-index>0</parameter-index>
      <parameter-des>Дата-время актуальность данных отчета</parameter-des>
    </report-parameters>
29 фев 12, 15:50    [12171534]     Ответить | Цитировать Сообщить модератору
 Re: Не читается XML  [new]
кириллk
Member

Откуда:
Сообщений: 1062
defragmentator,

WITH (DATAFILETYPE = 'char', ROWTERMINATOR = '>\r')

в поле типа varchar(MAX),

может потому что DATAFILETYPE = 'char'?
29 фев 12, 15:55    [12171591]     Ответить | Цитировать Сообщить модератору
 Re: Не читается XML  [new]
defragmentator
Member

Откуда:
Сообщений: 20504
кириллk
defragmentator,

WITH (DATAFILETYPE = 'char', ROWTERMINATOR = '>\r')

в поле типа varchar(MAX),

может потому что DATAFILETYPE = 'char'?


Так
BULK INSERT Table_2 FROM 'E:\SHERPDATA\22-02-2012_08-50.xml'
WITH (ROWTERMINATOR = '>\r')

то же самое.
29 фев 12, 16:14    [12171755]     Ответить | Цитировать Сообщить модератору
 Re: Не читается XML  [new]
кириллk
Member

Откуда:
Сообщений: 1062
defragmentator
кириллk
defragmentator,

WITH (DATAFILETYPE = 'char', ROWTERMINATOR = '>\r')

в поле типа varchar(MAX),

может потому что DATAFILETYPE = 'char'?


Так
BULK INSERT Table_2 FROM 'E:\SHERPDATA\22-02-2012_08-50.xml'
WITH (ROWTERMINATOR = '>\r')

то же самое.


может так?
WITH (DATAFILETYPE = 'varchar(MAX)', ROWTERMINATOR = '>\r')
29 фев 12, 17:09    [12172233]     Ответить | Цитировать Сообщить модератору
 Re: Не читается XML  [new]
Glory
Member

Откуда:
Сообщений: 104751
кириллk
может так?
WITH (DATAFILETYPE = 'varchar(MAX)', ROWTERMINATOR = '>\r')

Ув. кириллk
Вам так понравилось придумывать свой синтасис в своей теме с case-ом, что вы решили других тоже "научить" ?
Может для начала сами откроете хелп и прочитаете о возможных значениях параметра DATAFILETYPE ?


defragmentator
Как поточнее определить кодировку?

Откройте файл в Notepad на сервере и выберите пункт Save as
29 фев 12, 17:14    [12172276]     Ответить | Цитировать Сообщить модератору
 Re: Не читается XML  [new]
defragmentator
Member

Откуда:
Сообщений: 20504
defragmentator
Как поточнее определить кодировку?

Откройте файл в Notepad на сервере и выберите пункт Save as[/quot]

К сообщению приложен файл. Размер - 24Kb
29 фев 12, 17:33    [12172405]     Ответить | Цитировать Сообщить модератору
 Re: Не читается XML  [new]
Glory
Member

Откуда:
Сообщений: 104751
ANSI означает - используй текущую кодовую страницу своей учетной записи
29 фев 12, 17:36    [12172428]     Ответить | Цитировать Сообщить модератору
 Re: Не читается XML  [new]
defragmentator
Member

Откуда:
Сообщений: 20504
Ещё менее понятно, но главное, что не UNICODE
29 фев 12, 17:41    [12172464]     Ответить | Цитировать Сообщить модератору
 Re: Не читается XML  [new]
defragmentator
Member

Откуда:
Сообщений: 20504
Glory
ANSI означает - используй текущую кодовую страницу своей учетной записи

Не понял эту фразу. У какой учётной записи есть текущая кодовая страница?
В операционке Windows Server 2008?
29 фев 12, 17:43    [12172482]     Ответить | Цитировать Сообщить модератору
 Re: Не читается XML  [new]
Glory
Member

Откуда:
Сообщений: 104751
defragmentator
Не понял эту фразу. У какой учётной записи есть текущая кодовая страница?

Как вы думаете происходит обращение sql server-а к внешним файлам ?
29 фев 12, 17:45    [12172508]     Ответить | Цитировать Сообщить модератору
 Re: Не читается XML  [new]
defragmentator
Member

Откуда:
Сообщений: 20504
Glory
defragmentator
Не понял эту фразу. У какой учётной записи есть текущая кодовая страница?

Как вы думаете происходит обращение sql server-а к внешним файлам ?


Не задумывался. В самом сервере XML хранится в определённой кодировке - не зависит от пользователя. А открывает файлы либо как скажут параметром CODEPAGE или по умолчанию. Но это не в Оси, а в SQL.
sp_helpsort 
даёт 1252 и это мне лично ни о чём не говорит.
29 фев 12, 17:53    [12172557]     Ответить | Цитировать Сообщить модератору
 Re: Не читается XML  [new]
Glory
Member

Откуда:
Сообщений: 104751
defragmentator
Не задумывался. В самом сервере XML хранится в определённой кодировке

И как способ хранения данных внутри mssql влияет на хранение данных в файлах файловой системы ?

defragmentator
sp_helpsort 

даёт 1252 и это мне лично ни о чём не говорит.

Что атоматически означает, что все данные вовне mssql обязаны иметь такую же кодовую страницу
29 фев 12, 17:59    [12172588]     Ответить | Цитировать Сообщить модератору
 Re: Не читается XML  [new]
defragmentator
Member

Откуда:
Сообщений: 20504
defragmentator
sp_helpsort 

даёт 1252 и это мне лично ни о чём не говорит.

Что атоматически означает, что все данные вовне mssql обязаны иметь такую же кодовую страницу[/quot]

А CODEPAGE тогда для чего?
29 фев 12, 18:07    [12172650]     Ответить | Цитировать Сообщить модератору
 Re: Не читается XML  [new]
Glory
Member

Откуда:
Сообщений: 104751
Я так понимаю, что чтение хелпов - это не ваш конек

sp_helpsort
Displays the Microsoft® SQL Server™ sort order and character set.
29 фев 12, 18:09    [12172664]     Ответить | Цитировать Сообщить модератору
 Re: Не читается XML  [new]
defragmentator
Member

Откуда:
Сообщений: 20504
Glory
Я так понимаю, что чтение хелпов - это не ваш конек

sp_helpsort
Displays the Microsoft® SQL Server™ sort order and character set.


Я так понимаю, логическое мышление - это не Ваш конёк.
Как я Вам мог выдать результат, если если не знал, что это за команда.
И второе, объясните, причём здесь ANSI? Логики - никакой.
29 фев 12, 18:14    [12172682]     Ответить | Цитировать Сообщить модератору
 Re: Не читается XML  [new]
Glory
Member

Откуда:
Сообщений: 104751
defragmentator
Я так понимаю, логическое мышление - это не Ваш конёк.
Как я Вам мог выдать результат, если если не знал, что это за команда.
И второе, объясните, причём здесь ANSI? Логики - никакой.

Вот именно, что нет никакой логики между кодовой страницей mssql и кодовой страницей внешнего файла.
Хотя вы упорно пытаетесь ее найти.
29 фев 12, 18:17    [12172698]     Ответить | Цитировать Сообщить модератору
 Re: Не читается XML  [new]
defragmentator
Member

Откуда:
Сообщений: 20504
Glory
Вот именно, что нет никакой логики между кодовой страницей mssql и кодовой страницей внешнего файла.
Хотя вы упорно пытаетесь ее найти.


Я читаю Help и вижу, что у BULK INSERT есть параметр
автор
CODEPAGE = { 'ACP '| ' OEM ' | ' RAW '| 'code_page' }
Указывает кодовую страницу данных в файле данных.
29 фев 12, 18:18    [12172706]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить