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

Вниз

Программный импорт в SQL Server из Access   Найти похожие ветки 

 
AngelSaint   (2004-09-21 08:20) [0]

Доброго времени суток мастера.
Проблема в следующем - есть БД Access, в которой есть пару таблиц (по 500 с лишним тыщ записей в каждой). Нужно программно перекинуть данные из Access"а в SQL Server. У меня даже при открытии одной таблицы тачка кашляет так, что слышно в соседнем кабинете. Открываю исходный набор запросом select * from TBL_NAME. Может есть какой то способ вытаскива из исходной таблицы не все записи, а только например первые 100, потом еще 100 и т.д.? очень нужно. заранее благодарен.


 
ЮЮ ©   (2004-09-21 08:31) [1]

В Access уже есть
Сервис>Служебные программы>Мастер преобразования в формат МS SQL


 
AngelSaint   (2004-09-21 08:38) [2]

мне нужно именно программно. типа импорт\экспорт для\от клиентов


 
sniknik ©   (2004-09-21 08:48) [3]

> программно перекинуть
из подключения к MSSQL
SELECT a.* FROM OPENROWSET("Microsoft.Jet.OLEDB.4.0", "D:\MDBBase.MDB";"admin";"", TableName) AS a

(а можно и select into? insert into)

> например первые 100, потом еще 100 и т.д.?
выборка с ограничением по автоинкременту, вполне возможно (даже если часть удалилась)
но сначала посмотри сколько будет запрос делатся в отличии от твоей реализации.


 
AngelSaint   (2004-09-21 08:58) [4]

>sniknik ©   (21.09.04 08:48) [3]
из подключения к MSSQL
>SELECT a.* FROM OPENROWSET("Microsoft.Jet.OLEDB.4.0", "D:\MDBBase.MDB";"admin";"", TableName) AS a

можно про это поподробней пажалуста
или ссылку где прочесть


 
ЮЮ ©   (2004-09-21 09:09) [5]

[MS]SQL Server Book Online, естественно


 
zx ©   (2004-09-21 09:37) [6]

Linked Servers


 
AngelSaint   (2004-09-21 10:36) [7]

почему та вот такой запрос

SELECT     a.*
FROM         OPENROWSET("Microsoft.Jet.OLEDB.4.0",
                     "Password=password;User ID=user;
                     Data Source=database.mdb;Persist Security Info=True;
                     Jet OLEDB:System database=system.mdw;
                     Jet OLEDB:Database Password=123456",
                      "select * from TBL_NAME") a

в самом SQL Server выдает ошибку

Невозможно найти устанавливаемый ISAM


 
sniknik ©   (2004-09-21 10:56) [8]

потому что неправильный
Data Source, Password, User ID, ... ты взял часть из того как задаются параметры к opendatasource.
openrowset <> opendatasource
если так не видиш то хотя бы количество букв в них сосчитал. ;о))


 
AngelSaint   (2004-09-21 11:07) [9]

ну вот же синтаксис
OPENROWSET("provider_name"
   {
       "datasource";"user_id";"password"
       | "provider_string"
   },
   {
       [catalog.][schema.]object
       | "query"
   })

в provider_string я запихал данные из ADOConnection... если я не прав, то как нада правильно? у меня база защищена не только паролем на БД, но и файлом system.mdw... он распространяется с программой и не прописывается вместо пользовательского, просто лежит в каталоге проги и подцепляется когда нужно самой программой


 
Nikolay M. ©   (2004-09-21 11:11) [10]

Почему бы DTS-ом не воспользоваться? Имхо, это намного проще, чем возиться с openrowset/opendatasource.


 
sniknik ©   (2004-09-21 11:17) [11]

> если я не прав, то как нада правильно?

datasource = источник данных т.е. замени на путь+имя базы.
user_id = пользователь т.е. замени на имя юзера.
password = пароль т.е. замени на пароль
provider_string = строка от провайдера т.е. замени на на эту строку

и заметь все в разных строках, а не в одной как у тебя.
у тебя практически часть от этого
OPENDATASOURCE(provider_name, init_string)


 
AngelSaint   (2004-09-21 11:31) [12]

>Nikolay M.
а что такое DTS?


 
Nikolay M. ©   (2004-09-21 11:40) [13]


> AngelSaint   (21.09.04 11:31) [12]
> >Nikolay M.
> а что такое DTS?

Data Transformation Service. Мощный и гибкий инструмент для переноса данных.


 
AngelSaint   (2004-09-21 11:40) [14]

>Nikolay M.
где читать? если можно на русском


 
Nikolay M. ©   (2004-09-21 11:45) [15]


> AngelSaint   (21.09.04 11:40) [14]
> >Nikolay M.
> где читать? если можно на русском

Результат любого поисковика выдаст кучу ссылок.
Любите БОЛ - источник знаний.
http://www.sql.ru/articles/Publications.shtml#1-9


 
AngelSaint   (2004-09-21 14:00) [16]

Сделал через DTS. удобная и быстрая штуковина.
Всем спасибо за помощь!



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

Форум: "Базы";
Текущий архив: 2004.10.17;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.029 c
1-1096962576
gdima
2004-10-05 11:49
2004.10.17
FastReport userfunction


3-1095536017
dron-s
2004-09-18 23:33
2004.10.17
Как добавить одинаковые данные в две базы


3-1095789377
Maverick
2004-09-21 21:56
2004.10.17
PL SQL


3-1095654462
Loko
2004-09-20 08:27
2004.10.17
FIlter


4-1094870882
_TEST_
2004-09-11 06:48
2004.10.17
Получить иконку окна





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский