Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2002.05.06;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.005 c
4-17733
Cobalt
2002-02-27 15:19
2002.05.06
Доступ к чужим окнам


1-17630
Executor
2002-04-23 09:52
2002.05.06
Как округлить.


1-17514
Lord BDV
2002-04-21 13:48
2002.05.06
TAnimate - нужна срочная помошь


1-17547
Andrey007
2002-04-23 17:15
2002.05.06
Как ловить движение мыши над TRadioGroup?


4-17735
guliver
2002-02-28 01:52
2002.05.06
String to PChar





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский