Вставить в Access из SQL Server
Я собираюсь скопировать несколько тысяч записей из SQL Server в Access на C#. Другое направление работает с использованием SqlBulkCopy
. Есть ли что-нибудь, чтобы сделать это в обратном порядке?
Я изо всех сил стараюсь держаться подальше от зацикливания каждого поля в каждой записи и построения отвратительного утверждения Insert
, которое не только займет вечность, но и, вероятно, ужасно рухнет, если что-то изменится.
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 работает для меня, но проверьте версию вашего клиента.