Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.06.26;
Скачать: CL | DM;

Вниз

Перенос данных из DBF в SQL SERVER   Найти похожие ветки 

 
DDP1   (2003-06-03 11:36) [0]

Добрый день!
Задачка такая:
есть 2 ADOConnection"а - 1 к DBF-кам, другой - к SQL SERVER"у
Нужно перенести табличку bp DBF в SQL.
Можно ли это сделать как-нибудь кроме построчного перебора DBF-ного НД и записью в SQL?
Я присваиваю Recordset одного ADOQuery другому, но данные все равно не заносятся.
Заранее спасибо.


 
sniknik ©   (2003-06-03 12:02) [1]

можно если убрать коннект к DBF-кам, и пользоватся к SQL SERVER и его же методами (MSSQL), OPENROWSET посмотри в BOL.

(по строгому соотвеоствию условиям задачи только перебор)


 
DDP1   (2003-06-03 12:14) [2]

>sniknik © (03.06.03 12:02)

Да я так и делал сначала:


SELECT *
FROM
OpenRowset
("MSDASQL",
"Driver={Microsoft dBase Driver (*.dbf)};DBQ=D:\Load\Base\Buf",
"select KODT, NAZV, SHIF, TO_SLOT, SOOE2 from TOVAR")


но потом стала вылетать ошибка


OLE DB provider "MSDASQL" reported an error. The provider did not give any information about the error.
OLE DB error trace [OLE/DB Provider "MSDASQL" IDBInitialize::Initialize returned 0x80004005: The provider did not give any information about the error.].


Пытался с эим бороться, но не получилось, поэтому решил побробовать загружать данные через ADO.



 
sniknik ©   (2003-06-03 12:44) [3]

думаеш лутше будет? если с одними файлами работает а с другими нет то это формат файлов виноват. (может это и не dBase)

а например Fox
попробуй к примеру

SELECT *
FROM OpenRowset("MSDASQL",
"DRIVER={Microsoft dBase VFP Driver (*.dbf)};UID=;SourceDB=d:\;SourceType=DBF;",
"select KODT, NAZV, SHIF, TO_SLOT, SOOE2 from TOVAR")


 
DDP1   (2003-06-03 14:44) [4]

Фишка в том, что сначала запрос работал, а потом ЭТОТ ЖЕ запрос перестал работать. Я поискал на sql.ru, там некотоым помогла перегрузка сервера, некоторым помогло
DBCC TRACEON(-1,7300)

Меня ни то ни другое не спасло :(


 
DDP1   (2003-06-03 14:47) [5]

Через Fox - овский драйвер вообще не работает - зависает


 
sniknik ©   (2003-06-03 16:09) [6]

еще можно попробовать Jet (может у тебя ODBC или драйвер его "поломался") и указывать в запросах все параметры. а то в укороченном мало ли что по умолчанию вставляется. поменялись настройки в ODBC (версию обновил а там по другому) и привет.

через Jet вот так попробуй
SELECT KODT, NAZV, SHIF, TO_SLOT, SOOE2 FROM
OpenDataSource("Microsoft.Jet.OLEDB.4.0",
"Data Source="D:\Load\Base\Buf";Extended properties=dBase IV")...TOVAR


если получится а твой даже с полными параметрами не сработает то чтото у тебя с ODBC случилось.


 
stone ©   (2003-06-03 16:16) [7]

sniknik © (03.06.03 16:09) прав, подобным образом я перегоняю от 2 до 19 млн. записей без проблем, лишь вопрос времени и производительности компа.


 
DDP1   (2003-06-03 16:40) [8]

Ничего не выходит и с JET. А как ODBC подлечить? MDAC переустановить?



Страницы: 1 вся ветка

Текущий архив: 2003.06.26;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.02 c
1-84359
SkySlider
2003-06-16 16:15
2003.06.26
Dll Forms In Delphi


3-83916
Мария В.
2003-06-03 15:08
2003.06.26
Сортировка таблицы с данными на украинском языке


6-84484
Маришка
2003-04-07 16:02
2003.06.26
приложения клиент-сервер


1-84249
nevalex
2003-06-13 17:26
2003.06.26
Как програмно отличить папку от файла.


3-83879
vibor
2003-06-02 15:27
2003.06.26
Проблемы с ExecSQL