| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > MS SQL Server > MS FoxPro *.dbf -> MS SQL Server |
| Автор: Marduk 8.1.2008, 14:38 |
| ситуация: по почте приходят прайсы в формате *.dbf, но созданные в FoxPro, причем полностью совместимы с форматом dBase 5. прога, которая из обрабытывает написана на делфи и использует для хранения данных MS SQL 2005 Express и имортирует dbf файлы в таблицы на сервере. В файле порядка 10000 записей, если копировать через BDE простым циклом, то получается очень долго (минуты две). Раньше были dbf файлы написанные не знаю на чем, но в формате dBase 5, я создал DTS пакет для импорта из dBase 5 в MS SQL и все было прекрасно, таблицы копировались за пару секунд, но потом стали приходить файлы, написанные на FoxPro и на сервере вместо русских букв появились иероглифы. Вопрос: можно ли изменить тип подключения в DTS файле под FoxPro *.dbf и какого провайдера для этого надо выбрать, либо подскажите как импортировать такой файл целиком в одноименную таблицу на сервере при помощи утилиты bcp |
| Автор: Данкинг 8.1.2008, 15:16 | ||||
Попробуй сохранить файл в кодировке 866. Т.е. открываешь файл dbf фоксом и копируешь в новый:
|
| Автор: Marduk 8.1.2008, 15:24 |
| У меня нет FoxPro, у меня только файл, сформированный в нем и все... У меня есть только Delphi и MS SQL Server |
| Автор: Данкинг 8.1.2008, 17:40 | ||
Ну, поставь фокс, пригодится. |
| Автор: Marduk 8.1.2008, 17:57 | ||||
)) А иде ево взять? =) дорогущий ведь, а так даже пиратскую взять негде |
| Автор: Akina 8.1.2008, 18:17 |
| Создайте подключенный к SQL-серверу ADP-проект. Он прекрасно импортирует DBF-ы с любого рода заморочками и столь же прекрасно заливает данные на сервер. Можно даже организовать промежуточные просмотр и обработку импортируемых данных. |
| Автор: Marduk 8.1.2008, 18:29 | ||
Честно говоря, ни разу с этим не сталкивался.. Какими средствами можно создать такой проект и что это такое? |
| Автор: Данкинг 8.1.2008, 18:45 | ||
Ну как где, диски же продаются с софтом. Просто с SQL я работал весьма мало и про всякие описываемые тут программы не в курсе, зато с DBF связано 100% моей работы и глюки, которые бывают при импорте/экспорте, я представляю. |
| Автор: Akina 8.1.2008, 18:47 |
MS Access 2002 или старше под рукой есть? Запустите и выберите пункт "Создать новый проект" (!!! не базу данных !!!). Выберите SQL-сервер, установите и протестируйте параметры подключения... и так далее. |
| Автор: Marduk 8.1.2008, 19:18 | ||
Спасибо, попробую |
| Автор: Marduk 8.1.2008, 20:13 | ||||
| блин.. ADP тоже неудобно..... (( Лучше бы средствами SQL Server только, было бы прекрасно.. нашел один вариант, зацените его перспективность:
или так:
|
| Автор: nitr 8.1.2008, 21:18 |
| Для FoxPro есть драйвер ODBC/OLE/ADO, т.е. легко можно будет работать с БД FoxPro из Делфи (качать с microsoft.com). Сам FoxPro в этом случае не требуется. У меня огромные таблица из FoxPro обрабатываются достаточно быстро. Как работать с MS SQL, думаю знаете. Дальше только написание программы. |
| Автор: Marduk 10.1.2008, 18:57 |
| Все равно не получается что то.. не пойму что с файлом, - кодировка у него 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 другой? |