выбрать из файла базы данных доступа и вставить в базу данных SQL - PullRequest
2 голосов
/ 30 июня 2010

У меня есть файл базы данных доступа (test.mdb), и мне нужно написать хранимую процедуру, которая выберет некоторые записи из tblTest в test.mdb и вставит их в tbsqlTest в моей базе данных sql. ==> Мне нужен ИП вроде этого:

BEGIN
    select * into tblTest from [test.mdb].[tblTest]
    where (my condition)
END

Ответы [ 2 ]

1 голос
/ 30 июня 2010

Если вы хотите разрешить специальные распределенные запросы на вашем SQL Server, вы можете использовать OPENDATASOURCE для получения данных из файла MDB.

SELECT * INTO dbo.TestAccess FROM OPENDATASOURCE(
'Microsoft.Jet.OLEDB.4.0',
'Data Source="\\server\share\somefolder\scratchpad.mdb"')...MyTable;

Или после создания таблицы назначения вы можете предпочесть:

INSERT INTO dbo.TestAccess 
SELECT * FROM OPENDATASOURCE(
'Microsoft.Jet.OLEDB.4.0',
'Data Source="\\server\share\somefolder\scratchpad.mdb"')...MyTable;

Чтобы запустить их, мне нужно было включить специальные распределенные запросы следующим образом:

sp_configure 'show advanced options', 1;
RECONFIGURE WITH OVERRIDE;
GO
sp_configure 'Ad Hoc Distributed Queries', 1;
RECONFIGURE WITH OVERRIDE;
GO

Я нашел инструкции по настройке в TechNet , но у меня не получалось, пока я не добавил WITH OVERRIDE.

Редактировать : Я добавил тег sql-server к вашему вопросу, потому что хочу выяснить, не является ли мое предложение глупо рискованным. Возможно, установка MDB в качестве связанного сервера - более безопасный путь. Я не знаю.

0 голосов
/ 30 июня 2010

Если вы собираетесь делать это регулярно;1. Создайте запрос на добавление в режиме конструктора, который выполняет то, что вы хотите, в том числе критерии, по которым следует фильтровать результаты запроса.2. Просмотрите запрос в представлении SQL.3. Скопируйте текст SQL 4. Создайте кнопку на форме.Перейдите в окно свойств на вкладке события и выберите событие «при нажатии».Нажмите многоточие "..." и откройте код.

Используйте этот код:


Dim MyAppendString as String

MyAppendString = "(строка кода 1)"& _" (Строка кода 2) "& _" (последняя строка) ";

docmd.runsql MyAppendString

**************** Конец кода

Каждый раз, когда вы нажимаете кнопку, он выполняет запрос на добавление, жестко закодированный с выбранными вами критериями.

Дайте мне знать, если вы придерживаетесь какой-либо из этих точек.Я пришлю вам более подробные инструкции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...