Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从SQL Server插入到Access中_C#_Sql Server_Ms Access - Fatal编程技术网

C# 从SQL Server插入到Access中

C# 从SQL Server插入到Access中,c#,sql-server,ms-access,C#,Sql Server,Ms Access,我希望将几千条记录从SQLServer复制到C中的Access中。另一个方向是使用SqlBulkCopy。有没有什么方法可以反过来做呢 我正在尽最大努力避免在每条记录中的每个字段中循环,并构建一个令人发指的Insert语句,该语句不仅要花费很长时间才能运行,而且如果有任何变化,它可能会严重崩溃。这将对MS Access-OleConnection连接运行: SELECT fld1, fld2 INTO accessTable FROM [sql connection string].sqltab

我希望将几千条记录从SQLServer复制到C中的Access中。另一个方向是使用SqlBulkCopy。有没有什么方法可以反过来做呢


我正在尽最大努力避免在每条记录中的每个字段中循环,并构建一个令人发指的Insert语句,该语句不仅要花费很长时间才能运行,而且如果有任何变化,它可能会严重崩溃。

这将对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; 

从对我有效,但检查您的客户端版本

我应该指定,我使用SqlConnection连接到SQL Server,使用OleConnection连接到Access-我在代码中做了很多其他操作。看起来这是正确的方法,但我需要一些额外的帮助来提供密码而不是可信连接:选择*自[ODBC;Description=Test;DRIVER=SQL Server;Server=IpAddress;UID=Username;PASSWORD=Pass;DATABASE=DB].dbo.Orders-我输入的凭据是否错误?它们似乎不是这样工作的。非常感谢!您需要找到合适的驱动程序,例如ODBC;DRIVER={SQL Server Native Client 11.0};Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;从works for me中,检查您的客户端版本。您也可以使用DSN或FileDSN。您刚才发布的字符串为ODBC;Driver={SQL Server Native client 11.0};Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;,用于连接-谢谢!现在,由于某种原因,当我执行SELECT测试它时,它会返回Access中所有删除的行。这正常吗?不正常。当我从[ODBC;FileDSN=z:\docs\test.dsn]运行eg SELECT*时,我会得到记录。