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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> MS FoxPro *.dbf -> MS SQL Server, импорт *.dbf файлов в MS SQL 
V
    Опции темы
Marduk
Дата 8.1.2008, 14:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



ситуация: по почте приходят прайсы в формате *.dbf, но созданные в FoxPro, причем полностью совместимы с форматом dBase 5.
прога, которая из обрабытывает написана на делфи и использует для хранения данных MS SQL 2005 Express и имортирует dbf файлы в таблицы на сервере. В файле порядка 10000 записей, если копировать через BDE простым циклом, то получается очень долго (минуты две). Раньше были dbf файлы написанные не знаю на чем, но в формате dBase 5, я создал DTS пакет для импорта из dBase 5 в MS SQL и все было прекрасно, таблицы копировались за пару секунд, но потом стали приходить файлы, написанные на FoxPro и на сервере вместо русских букв появились иероглифы. 
Вопрос: можно ли изменить тип подключения в DTS файле под FoxPro *.dbf и какого провайдера для этого надо выбрать, либо подскажите как импортировать такой файл целиком в одноименную таблицу на сервере при помощи утилиты bcp
PM MAIL ICQ   Вверх
Данкинг
Дата 8.1.2008, 15:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


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

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



Цитата(Marduk @ 8.1.2008,  14:38)
 но потом стали приходить файлы, написанные на FoxPro и на сервере вместо русских букв появились иероглифы. 

Попробуй сохранить файл в кодировке 866. Т.е. открываешь файл dbf фоксом и копируешь в новый:
Код

copy to NEW_FILE fox2x as 866



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


Шустрый
*


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

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



У меня нет FoxPro, у меня только файл, сформированный в нем и все... У меня есть только Delphi и MS SQL Server
PM MAIL ICQ   Вверх
Данкинг
Дата 8.1.2008, 17:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


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

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



Цитата(Marduk @ 8.1.2008,  15:24)
У меня нет FoxPro, у меня только файл, сформированный в нем и все... У меня есть только Delphi и MS SQL Server

Ну, поставь фокс, пригодится. smile Можно будет компилировать фоксовые программы (в .fxp), а затем из дельфи их запускать обычным способом.


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


Шустрый
*


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

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



Цитата(Данкинг @ 8.1.2008,  17:40)
Цитата(Marduk @ 8.1.2008,  15:24)
У меня нет FoxPro, у меня только файл, сформированный в нем и все... У меня есть только Delphi и MS SQL Server

Ну, поставь фокс, пригодится. smile Можно будет компилировать фоксовые программы (в .fxp), а затем из дельфи их запускать обычным способом.

))
А иде ево взять? =) 
дорогущий ведь, а так даже пиратскую взять негде
PM MAIL ICQ   Вверх
Akina
Дата 8.1.2008, 18:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

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



Создайте подключенный к SQL-серверу ADP-проект. Он прекрасно импортирует DBF-ы с любого рода заморочками и столь же прекрасно заливает данные на сервер. Можно даже организовать промежуточные просмотр и обработку импортируемых данных.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Marduk
Дата 8.1.2008, 18:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(Akina @ 8.1.2008,  18:17)
Создайте подключенный к SQL-серверу ADP-проект. Он прекрасно импортирует DBF-ы с любого рода заморочками и столь же прекрасно заливает данные на сервер. Можно даже организовать промежуточные просмотр и обработку импортируемых данных.

Честно говоря, ни разу с этим не сталкивался.. Какими средствами можно создать такой проект и что это такое?
PM MAIL ICQ   Вверх
Данкинг
Дата 8.1.2008, 18:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


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

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



Цитата(Marduk @ 8.1.2008,  17:57)
))
А иде ево взять? =) 
дорогущий ведь, а так даже пиратскую взять негде

Ну как где, диски же продаются с софтом. Просто с SQL я работал весьма мало и про всякие описываемые тут программы не в курсе, зато с DBF связано 100% моей работы и глюки, которые бывают при импорте/экспорте, я представляю.


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


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

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



Цитата(Marduk @  8.1.2008,  19:29 Найти цитируемый пост)
Какими средствами можно создать такой проект и что это такое? 

MS Access 2002 или старше под рукой есть? Запустите и выберите пункт "Создать новый проект" (!!! не базу данных !!!). Выберите SQL-сервер, установите и протестируйте параметры подключения... и так далее.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Marduk
Дата 8.1.2008, 19:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(Akina @ 8.1.2008,  18:47)
Цитата(Marduk @  8.1.2008,  19:29 Найти цитируемый пост)
Какими средствами можно создать такой проект и что это такое? 

MS Access 2002 или старше под рукой есть? Запустите и выберите пункт "Создать новый проект" (!!! не базу данных !!!). Выберите SQL-сервер, установите и протестируйте параметры подключения... и так далее.

Спасибо, попробую
PM MAIL ICQ   Вверх
Marduk
Дата 8.1.2008, 20:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



блин.. ADP тоже неудобно..... (( Лучше бы средствами SQL Server только, было бы прекрасно..
нашел один вариант, зацените его перспективность:
Код

select * from OPENROWSET('MSDASQL', 'Driver={Microsoft Visual FoxPro Driver};UID=;SourceType=DBF;Exclusive=No;BackgroundFetch=Yes;Collate=Machine;Null=No;Deleted=Yes;SourceDB=D:\DATA\','Select * from table1.dbf')


или так:
Код

insert into Table1 select * from OPENROWSET('VFPOLEDB','DBF_PATH';'';'','select * from [DBF_NAME]')

PM MAIL ICQ   Вверх
nitr
Дата 8.1.2008, 21:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2543
Регистрация: 10.2.2006
Где: Россия :)

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



Для FoxPro есть драйвер ODBC/OLE/ADO, т.е. легко можно будет работать с БД FoxPro из Делфи (качать с microsoft.com). Сам FoxPro в этом случае не требуется. У меня огромные таблица из FoxPro обрабатываются достаточно быстро.
Как работать с MS SQL, думаю знаете.

Дальше только написание программы.


--------------------
PM   Вверх
Marduk
Дата 10.1.2008, 18:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Все равно не получается что то.. не пойму что с файлом, - кодировка у него OEM (Кириллица - OS2-OEM cp866), формат вроде dBase. В DBU открывается нормально, в Excel тоже, но при импорте в SQL Server при любом провайдере (FoxPro таблицы, dBase 5, ODBC) на сервере - таблица с иероглифами вместо русских букв.... НО если из делфи подключиться к нему через BDE с компонентом TTable, то русские буквы появляются при изменении свойства TableType = FoxPro... 

Скачал драйвер OLE DB для FoxPro, подключаюсь через АДО к этому файлу, но иероглифы по прежнему остались. На что влияет свойство Sequence Type? Там есть Machine и Russian, но ничего не меняется при изменении этих свойств.

Еще вопрос: можно ли в подключении через АДО указать Langdriver другой?

Это сообщение отредактировал(а) Marduk - 13.1.2008, 15:24
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "MS SQL"
Akina

Akina

Запрещается!

Публиковать ссылки и обсуждать взлом чего бы то ни было.

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы составления неспецифических запросов рассматриваются здесь
  • Используйте теги [code=sql][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.

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

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


 




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


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

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