我正在尋找從SQL Server將幾千條記錄複製到C#中的Access。另一個方向使用SqlBulkCopy
。有什麼地方可以做到這一點嗎?從SQL Server插入訪問
我正盡全力避免在每條記錄中循環遍歷每個字段,並構建一個令人髮指的Insert
聲明,這不僅會永遠運行,而且如果有任何變化可能會發生可怕的崩潰。
我正在尋找從SQL Server將幾千條記錄複製到C#中的Access。另一個方向使用SqlBulkCopy
。有什麼地方可以做到這一點嗎?從SQL Server插入訪問
我正盡全力避免在每條記錄中循環遍歷每個字段,並構建一個令人髮指的Insert
聲明,這不僅會永遠運行,而且如果有任何變化可能會發生可怕的崩潰。
這將運行對MS接入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對我的作品,但檢查出你的客戶端版本。
看起來像這是正確的軌道,但我需要一些額外的幫助提供密碼,而不是一個可信的連接:'SELECT * FROM [ODBC; Description = Test; DRIVER = SQL Server; SERVER = IpAddress; UID = Username; PASSWORD = Pass; DATABASE = DB] .dbo.Orders' - 我輸入的憑據是否錯誤?他們似乎並沒有像這樣工作。非常感謝你! – The1nk
您將需要找到適合的驅動程序,例如'ODBC; Driver = {SQL Server Native Client 11.0}; Server = myServerAddress; Database = myDataBase; Uid = myUsername; Pwd = myPassword;'來自http://connectionstrings.com適用於我,請查看您的客戶端版本。 – Fionnuala
您也可以使用DSN或FileDSN。 – Fionnuala
我應該指定,我使用SqlConnection連接到SQL Server和OleConnection連接到Access - 我在我的代碼中做了很多其他操作。 – The1nk