Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [C#]Перевод данных с *.dbf в MS SQL Server 2008, надо еще их там раскодировать 
:(
    Опции темы
Avariya
Дата 4.7.2011, 16:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 16.2.2010

Репутация: нет
Всего: нет



Здравствуйте ребята,
надо подгрузить *.dbf файл в MS SQL 2008 для подальшего анализа информации с помощью Analysis Services.
Пробую открыть файл в WF таким способом:
Код

        private void testBtn_Click(object sender, EventArgs e)
        {
            System.Data.Odbc.OdbcConnection oConn = new System.Data.Odbc.OdbcConnection();
            //Provider=vfpoledb;Data Source=E:\DPSERVER\D_ORG1\DBF_COM\
            //    Driver={Microsoft dBase Driver (*.dbf)};DriverID=277;Dbq=E:\DPSERVER\D_ORG1\DBF_COM\;
            oConn.ConnectionString = @"Driver={Microsoft dBase Driver (*.dbf)};DriverID=277;Dbq=E:\DPSERVER\D_ORG1\DBF_COM\;";
            oConn.Open();
            System.Data.Odbc.OdbcCommand oCmd = oConn.CreateCommand();
            oCmd.CommandText = @"SELECT Fcodt from CL.DBF";
            DataTable dt = new DataTable();
            dt.Load(oCmd.ExecuteReader());
            oConn.Close();

            dataGridView1.DataSource = dt; 
        }

на что получаю в ответ на строку dt.Load(oCmd.ExecuteReader()); вот такое:
ERROR [HY000] [Microsoft][Драйвер ODBC dBase] Непредвиденная ошибка драйвера внешней базы данных (8961).
Так-же проблема заключается в том, что данные в  *.dbf зашифрованы, код для дешифровки у меня есть(этот код на FoxPro написан(в этом языке не шарю но видимо придется перевести его на C#)).
Есть идеи в чем проблема при открытии файла в C#? И какие-то советы при дешифровке?
PM MAIL   Вверх
Данкинг
Дата 4.7.2011, 16:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: нет
Всего: 130



Цитата(Avariya @  4.7.2011,  17:09 Найти цитируемый пост)
 Непредвиденная ошибка драйвера внешней базы данных

Может, файл .dbf в кодировке 1251, а не 866 ?


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Avariya
Дата 4.7.2011, 18:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 16.2.2010

Репутация: нет
Всего: нет



А как проверить и если что исправить?
(хотя врядли. все сохраняемые файлы(txt) в программе сохраняются в 866)
======================
Послушался совету http://forum.vingrad.ru/act-ST/f-88/t-172754.html
Получил ошибку Внешняя таблица не имеет предполагаемый формат.
======================
Все норм, поменял на значение 1 и получил ту же ошибку с какой начал:
ERROR [HY000] [Microsoft][Драйвер ODBC dBase] Непредвиденная ошибка драйвера внешней базы данных (8961).

Это сообщение отредактировал(а) Avariya - 4.7.2011, 19:02
PM MAIL   Вверх
Avariya
Дата 4.7.2011, 19:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 16.2.2010

Репутация: нет
Всего: нет



Если что, при попытке открыть базу через MS Access 2010 получил:
user posted image
PM MAIL   Вверх
Данкинг
Дата 4.7.2011, 21:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: нет
Всего: 130



Вообще я в NET ничего не понимаю, я по DBF спец.  smile Но это - 
Цитата(Avariya @  4.7.2011,  19:43 Найти цитируемый пост)
ERROR [HY000] [Microsoft][Драйвер ODBC dBase] Непредвиденная ошибка драйвера внешней базы данных (8961).

Цитата(Avariya @  4.7.2011,  20:25 Найти цитируемый пост)
Если что, при попытке открыть базу через MS Access 2010 получил:

Всё говорит о том, что кодировка не 866. По крайней мере, искать ошибку следует начинать с этого.
Цитата(Avariya @  4.7.2011,  19:43 Найти цитируемый пост)
А как проверить и если что исправить?

Можешь выложить тестовую таблицу, я тебе точно скажу кодировку.


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Avariya
Дата 4.7.2011, 23:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 16.2.2010

Репутация: нет
Всего: нет



Посмотри, пожалуйста http://rghost.ru/13489481
===========
Там данные сами по себе закодированы. Поэтому чисто Sringов там нет. Не знаю как ты должен увидеть кодировку.

Это сообщение отредактировал(а) Avariya - 4.7.2011, 23:24
PM MAIL   Вверх
Данкинг
Дата 4.7.2011, 23:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: нет
Всего: 130



.fpt забыл, без этого файла не откроется. Там memo-поля содержатся. smile 


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Avariya
Дата 4.7.2011, 23:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 16.2.2010

Репутация: нет
Всего: нет



Чесно говоря поменял кодировку в редакторе в файле фпт на оем866 и увидил норм слова. Что то мне кажется что кодировка 866ая. Но всеравно спасибо за помощь. 
http://rghost.ru/13490881 - вдруг я не прав
PM MAIL   Вверх
Данкинг
Дата 4.7.2011, 23:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: нет
Всего: 130



Цитата(Avariya @  5.7.2011,  00:27 Найти цитируемый пост)
Чесно говоря поменял кодировку в редакторе в файле фпт на оем866 и увидил норм слова.

Это ни о чём не говорит.

В общем, я перекодировал. Попробуй вот это открыть своей программой.




Присоединённый файл ( Кол-во скачиваний: 14 )
Присоединённый файл  CL_NEW.rar 796,30 Kb


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Avariya
Дата 4.7.2011, 23:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 16.2.2010

Репутация: нет
Всего: нет



Сработало! smile  Скажите пожалуйста что вы сделали. И есть ли идеи как сделать это программно?
PM MAIL   Вверх
Данкинг
Дата 5.7.2011, 00:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: нет
Всего: 130



Цитата(Avariya @  5.7.2011,  00:57 Найти цитируемый пост)
Сработало!

Кто бы сомневался. smile 
Цитата(Avariya @  5.7.2011,  00:57 Найти цитируемый пост)
Скажите пожалуйста что вы сделали. 

Перекодировал на фоксе, т.е. пересохранил в новый файл:
Код

COPY TO cl_new FOX2X as 866

Цитата(Avariya @  5.7.2011,  00:57 Найти цитируемый пост)
И есть ли идеи как сделать это программно? 

Нефоксовыми средствами - сильно сомневаюсь. Но вообще кодовая страница хранится где-то в заголовке .dbf файла, и при желании можно каким-то образом её изменить программно. Но как именно - не знаю, я всегда перекодировал на фоксе. Да и у нас на работе программеры (а они иногда и покруче меня будут  smile ) тоже требуют при работе с DBF, чтобы таблица была в 866.

Это сообщение отредактировал(а) Данкинг - 5.7.2011, 00:04


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Avariya
Дата 5.7.2011, 00:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 16.2.2010

Репутация: нет
Всего: нет



Я так понял придется постигать азы фокса.
Операции которые надо изучить: открытие таблицы, массовое изменение данных в зависимости от того, в каком столбце они записаны, сохранение в правильном формате.
Удачи мне  smile 
=====
Забыл вопрос. А как называется компилятор, ну или среда разработки?   smile 

Это сообщение отредактировал(а) Avariya - 5.7.2011, 00:11
PM MAIL   Вверх
Данкинг
Дата 5.7.2011, 00:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: нет
Всего: 130



Цитата(Avariya @  5.7.2011,  01:07 Найти цитируемый пост)
Я так понял придется постигать азы фокса.

Ну, видимо, в данном случае без него никуда. smile 
Цитата(Avariya @  5.7.2011,  01:07 Найти цитируемый пост)
Забыл вопрос. А как называется компилятор, ну или среда разработки?  

Visual FoxPro и называется.
Цитата(Avariya @  5.7.2011,  01:07 Найти цитируемый пост)
Удачи мне

Да, удачи в постижении лисьих основ. smile

Добавлено через 38 секунд
Цитата(Avariya @  5.7.2011,  01:07 Найти цитируемый пост)
компилятор

Да, а компилировать-то ничего не нужно на данном этапе.


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
stab
mr.DUDA
Exception

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Базы данных под .NET | Следующая тема »


 




[ Время генерации скрипта: 0.0585 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.