![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Перенос данных из DBF в SQL SERVER [D6, MSSQL, dBase, FoxPro]
DDP1 © (2003-06-03 11:36:00)Добрый день!
Задачка такая:
есть 2 ADOConnection"а - 1 к DBF-кам, другой - к SQL SERVER"у
Нужно перенести табличку bp DBF в SQL.
Можно ли это сделать как-нибудь кроме построчного перебора DBF-ного НД и записью в SQL?
Я присваиваю Recordset одного ADOQuery другому, но данные все равно не заносятся.
Заранее спасибо.
DDP1 (2003-06-03 16:40:00) [1]Ничего не выходит и с JET. А как ODBC подлечить? MDAC переустановить?
stone (2003-06-03 16:16:00) [2]sniknik © (03.06.03 16:09) прав, подобным образом я перегоняю от 2 до 19 млн. записей без проблем, лишь вопрос времени и производительности компа.
sniknik (2003-06-03 16:09:00) [3]еще можно попробовать 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 случилось.
DDP1 (2003-06-03 14:47:00) [4]Через Fox - овский драйвер вообще не работает - зависает
DDP1 (2003-06-03 14:44:00) [5]Фишка в том, что сначала запрос работал, а потом ЭТОТ ЖЕ запрос перестал работать. Я поискал на sql.ru, там некотоым помогла перегрузка сервера, некоторым помогло
DBCC TRACEON(-1,7300)
Меня ни то ни другое не спасло :(
sniknik (2003-06-03 12:44:00) [6]думаеш лутше будет? если с одними файлами работает а с другими нет то это формат файлов виноват. (может это и не 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 12:14:00) [7]>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:02:00) [8]можно если убрать коннект к DBF-кам, и пользоватся к SQL SERVER и его же методами (MSSQL), OPENROWSET посмотри в BOL.
(по строгому соотвеоствию условиям задачи только перебор)