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

Вниз

Копирование данных между двумя базами.   Найти похожие ветки 

 
yozhik   (2002-04-09 14:34) [0]

Уважаемые мастера, подскажите как реализовать копирование данных между Access и MS SQL Server, используя только средства Delphi? но без использования BDE.


 
sniknik ©   (2002-04-09 14:44) [1]

тот же вопрос (просмотри форум там еще есть)
http://delphi.mastak.ru/cgi-bin/forum.pl?look=1&id=1018266603&n=1


 
yozhik   (2002-04-09 14:58) [2]

EXEC sp_addlinkedserver
@server = "MBase",
@provider = "Microsoft.Jet.OLEDB.4.0",
@srvproduct = "OLE DB Provider for Jet",
@datasrc = "D:\ZIP\Base.mdb"


не катит, это работает когда ты сидишь на сервере, а когда на удаленном компе ругается Jet.


 
sniknik ©   (2002-04-09 18:06) [3]

не будет ругатся если Base.mdb на сервер положить и там же линкед делать (пляшеш как от печки токо от сервера где mssql). если линк делать на локал то будут заморочки с правами доступа уже в NT. но в принципе путь можно даже так указывать \\локал\...

и игнорировать кое какие права можно
EXEC sp_addlinkedsrvlogin "MBase", false, NULL, NULL, NULL


 
sniknik ©   (2002-04-09 18:10) [4]

попробуй сначала руками линк создать и настроить как тебе надо и чтоб работало. после все настройки можно процедурами делать.


 
yozhik   (2002-04-09 18:42) [5]

пробовали, все равно работает только когда сидишь на серваке, а работать надо с локалки :((((


 
sniknik ©   (2002-04-09 19:32) [6]

должно. у нас с кассы работало под 98 виндами, mdb лежит на ней а линковались к нему с сервера под NT. (все операции с кассы).
правда потом отказались от этого (линков много и кажый админ считал своим долгом SQL чистить от всего лишнего и ему непонятного)
возились с этим делом и правду долго. но оно рабочее точно.

а через OpenRowset не пробовал?
по типу
select * from OpenRowset("MSDASQL.1", "Driver={Microsoft dBase Driver (*.dbf)};DBQ=D:\Work\Zip;", "select * from CashSail")
но это для dbf и этот драйвер не позволяет запись (на INSERT ругается), надо через jet.

и глупый вопрос Jet, Mdac везде стоят?

не получится можно и с другого конца взятся. прописать в ODBC алиас MSSQL и у же к нему из Access-а цепляться. Только тут я точно не знаю (не помню) как в дельфях эту связь организовать. Помню пробовал (к DBF) просто получилось и бросил. Разници большой между MSSQL и DBF в этом случае нет, одинаково к алиасу обращаешся.


 
unfam   (2002-04-10 00:19) [7]

Осмелюсь предложить решение, основанное на использовании аксесовской функции TransferDatabase.


 
sniknik ©   (2002-04-10 09:08) [8]

TransferDatabase хорошо для одноразового переноса, для обмена (если и там и там работают) и информация между базами постоянно обновляется (причем выборочно), не пойдет. я так понял yozhik надо делать перенос часто (у меня было такое решение я так и понял).
Если это не так то тогда действительно все что тут говорилось лишнии заморочки.


 
yozhik   (2002-04-10 20:49) [9]

Используя OpenRowset c Jet ругается ... таже ошибка что и при создании линка в ручную.

Использование ODBC предусматривает использование BDE - это не допустимо...

Но я кажется нашел выход - использование DTS, но возникает еще один вопрос: "Какие файлы нужны на "голой" машине для использования DTS, ADO".
Это первый вариант, второй (не желательный) использование построчного копирования.... мне это не нравится


 
sniknik ©   (2002-04-11 13:01) [10]

нашел выход ..... DTS, ADO ???? а мы про что говорили? я был уверен что про ADO. все мои примеры для него (по другому не проверял) и от DTS я почти сразу отказался не подходит он мне и сказать ничего не могу. а для ADO нужен MDac (в 2000-х уже есть), (DCom95 есть уже в 98), и драйвера Odbc,Jet что будеш использовать.


 
yozhik   (2002-04-11 20:58) [11]

а можно узнать чем не подошел DTS?? может и мне его не использовать ??


 
sniknik ©   (2002-04-12 12:05) [12]

мне надо было перебрасывать данные с вычислениями и условием по типу если в поле стоит 1 то пишем в два разных поля значения "kg", "yes". ну и условия по ходу менялись. а с DTS до таких вещей я не дошол. (просто переброс возможен и прост :-) а вот и изменениями.. нет можно там и sql запрос вставить но линк мне показался проще а после некоторых глюков с ним (в основном изза кривых рук) начали переделывать через функции (openrowset). и вот этот вариант устроил больше всех остальных. все можно просто менять из программы (запросы формировать).



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

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

Наверх




Память: 0.5 MB
Время: 0.011 c
7-17710
uuuu
2002-02-10 23:28
2002.05.06
Подскажите, кто знает! как сделать так, чтобы когда нажималась кнопка открывалось окно, например c: windows или c: program files


7-17718
rt11sj
2002-01-13 07:28
2002.05.06
Реестр.


1-17586
Egor111
2002-04-22 15:50
2002.05.06
TList


3-17482
sergey32
2002-04-12 10:16
2002.05.06
Не могу запустить цикл по IBQuery


14-17696
Merlin
2002-03-30 06:42
2002.05.06
найдено в инете