Вставить в Access из SQL Server


Я собираюсь скопировать несколько тысяч записей из SQL Server в Access на C#. Другое направление работает с использованием SqlBulkCopy. Есть ли что-нибудь, чтобы сделать это в обратном порядке?

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

1 3

1 ответ:

Это будет работать против соединения MS Access OleConnection:

SELECT fld1, fld2 INTO accessTable FROM [sql connection string].sqltable

Например:

SELECT * INTO newtable 
FROM 
[ODBC;Description=Test;DRIVER=SQL Server;SERVER=server\SQLEXPRESS;UID=uid;Trusted_Connection=Yes;DATABASE=Test].table_1

Или добавить

INSERT INTO newtable
SELECT *
FROM [ODBC;Description=Test;DRIVER=SQL Server;SERVER=server\SQLEXPRESS;UID=uid;Trusted_Connection=Yes;DATABASE=Test].table_1;

Или с FileDSN

INSERT INTO newtable
SELECT * 
FROM [ODBC;FileDSN=z:\docs\test.dsn].table_1;

Вам нужно будет найти подходящего водителя, например

ODBC;Driver={SQL Server Native Client 11.0};Server=myServerAddress;Database=myDataBase; Uid=myUsername;Pwd=myPassword; 

Из http://connectionstrings.com работает для меня, но проверьте версию вашего клиента.