Русские буквы меняются на ??? при экспорте в *.dbf

Работа VB и СУБД (Access, MSSQL, MySQL, Oracle и пр.)
Правила форума
При создании новой темы не забывайте указывать используемую СУБД.
haras
Начинающий
Начинающий
 
Сообщения: 3
Зарегистрирован: 07.08.2006 (Пн) 13:05

Русские буквы меняются на ??? при экспорте в *.dbf

Сообщение haras » 07.08.2006 (Пн) 18:22

День добрый. Собственно проблема в названии темы. Экспорт производится из базы Access 2000. Вся фишка в том, что на той машине где делали прогу выгрузки она работает нормально. Но когда базу перенес на другую машину вылез этот глюк. На обоих машинах стоит W2k Pro Sp4 Rus, Ms Office 2000. Программку делал не я, она мне досталась. VBA знаю не очень хорошо. Насколько я понял ключевые куски кода имеющие отношение к этой проблеме следующие
Код: Выделить всё
Set cnn = CreateObject("ADODB.Connection")
ConnectString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & path & ";Extended Properties=dBASE III;User ID=Admin;Password="
cnn.Open ConnectString
...
strSQL = "insert into 111 values ..."
cnn.Execute strSQL

Пробовал следующие строки подключения

Код: Выделить всё
ConnectString = "Driver={Microsoft dBASE Driver (*.dbf)};DriverID=277;Dbq=" & path & ";"
ConnectString = "Provider=VFPOLEDB.1;Data Source=" & path & ";Password=;Collating Sequence=MACHINE;"
ConnectString = "Driver={Microsoft Visual FoxPro Driver};SourceType=DBF;SourceDB=" & path & ";Exclusive=No;Collate=Machine;NULL=NO;DELETED=NO;BACKGROUNDFETCH=NO"

По первой выгрузка прошла с аналогичным результатом, по двум вторым ругнулась на отсутствие провайдера.
Я проверил региональные настройки, установленные кодовые страницы системы. Список одинаков. Что еще можно глянуть и заставить выгружаться как надо?
Еще вопрос. Есть 2 вьювера dbf. Universal Database Viewer в составе Тotal Commander и DBFDesk. Оба показывают файл шаблон dbf как III версии. Пробовал при помощи этих вьюверов создавать файл шаблон заново. Что бы я не указывал файл потом распознается как третьей версии. Какие есть нормальные вьюверы dbf, что бы могли создавать файлы требуемой версии или преобразовывать уже существующие к требуемой?
Помогите кто чем может.

Andrev
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 108
Зарегистрирован: 19.01.2005 (Ср) 9:22
Откуда: Kursk

Сообщение Andrev » 08.08.2006 (Вт) 10:33

Ето, товарищ, у тебя косяк с кодовыми страницами. Лечится так: лезешь в реестр и меняешь кодовые страницы 1250.nls и 1252.nls на 1251.nls.
В этой жизни нет ничего невозможного. Если у вас что-то не получается, значит, вы что-то делаете не так.

haras
Начинающий
Начинающий
 
Сообщения: 3
Зарегистрирован: 07.08.2006 (Пн) 13:05

Сообщение haras » 08.08.2006 (Вт) 11:05

Yeeeess!!! У меня стояло 1251.nls только для 1250 и 1251. Проправил для 1252 и заработало. Спасибо.

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 08.08.2006 (Вт) 11:09

После такого "лечения" перестаёт работать печать в Акробате, проверено :-(
Изображение

blinow
Обычный пользователь
Обычный пользователь
 
Сообщения: 53
Зарегистрирован: 27.06.2005 (Пн) 3:13

Сообщение blinow » 25.08.2006 (Пт) 3:36

Скачай с Microsofta "Microsoft OLE DB Provider for Visual FoxPro 9.0"


Вернуться в Базы данных

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0

    TopList