Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Linked Server  [new]
idry
Member

Откуда:
Сообщений: 6
Здравствуйте !
Вопрос старый, но я не нашел нигде ответа.
Создал Linked Server для dbf - файлов на локальном диске. Его имя LINKDBF.

Настройки Linked Server:
Provider Name = Microsoft Jet 4.0 OLE DB Provider
Product Name = Microsoft.Jet.OLEDB.4.0
Provider string = DBASE IV

В закладке Options установлено
Collation Name = Cyrillic_General_CI_AS

В свойствах самого сервера установлено
Server Collation = Cyrillic_General_CI_AS

При выполнении в QA запроса
select * from linkdbf...s_w, где s_w - имя dbf файла нет русских символов.
Файл s_w был создан в FoxBase.

Подскажите, пожалуйста, как получить русские символы.
26 июн 03, 06:47    [242033]     Ответить | Цитировать Сообщить модератору
 Re: Linked Server  [new]
ziktuw
Member

Откуда:
Сообщений: 3552
А кодировка русских символов в dbf-файле какая? Jet распознает только досовскую кодировку в dbf. Но и этого недостаточно. Надо, чтобы default location на машине была установлена Russian. Именно default, а не current
26 июн 03, 11:22    [242291]     Ответить | Цитировать Сообщить модератору
 Re: Linked Server  [new]
idry
Member

Откуда:
Сообщений: 6
1. Кодировка 866. В заголовке dbf файла байты с 17 по 32 (считая с 1) равны нулю.
2. "default location на машине", если имеется ввиду операционная система, установлен English.
3. Когда - то в аналогичной ситуации не было проблем с кодировкой. dbf были созданы в VoxPro.

Среда MSSQL2000.
26 июн 03, 13:28    [242622]     Ответить | Цитировать Сообщить модератору
 Re: Linked Server  [new]
ziktuw
Member

Откуда:
Сообщений: 3552
Ну, тогда понятно. Jet не может преобразовать 866 страницу в 1251 корректно, так как он работает в контексте системы, а там соотв. страница досовской кодировки - английская, а не 866.
26 июн 03, 14:04    [242717]     Ответить | Цитировать Сообщить модератору
 Re: Linked Server  [new]
idry
Member

Откуда:
Сообщений: 6
Dankov, Вы меня убили. Значит, решение состоит в двух шагах: 1. dbf -> txt; 2. txt -> sql. А как понимать: драйвер Jet "... работает в контексте системы, а там соотв. страница досовской кодировки - английская, а не 866." - нужно менять настройки системы ? А, может быть, использовать другой драйвер ?
26 июн 03, 14:13    [242745]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить