Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/264.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# 如何从C中的MS access访问表?_C#_Sql_Ms Access - Fatal编程技术网

C# 如何从C中的MS access访问表?

C# 如何从C中的MS access访问表?,c#,sql,ms-access,C#,Sql,Ms Access,我正在构建一个C项目,该项目将数据从Access数据库传输到SQL数据库。我正在使用此命令: sqlMergeDB = "Insert int work.sql_merged_database.dbo." + tablename[a] + "SELECT * FROM acs_merged_database.mdb." + tablename[a]; 它一直说它无法识别Access表对象,我百分之百确定表名是正确的,并且有到数据库的连接。也许我不知道列出Access数据对象的特定语法 更具体

我正在构建一个C项目,该项目将数据从Access数据库传输到SQL数据库。我正在使用此命令:

sqlMergeDB = "Insert int work.sql_merged_database.dbo." + tablename[a] + 
"SELECT * FROM acs_merged_database.mdb." + tablename[a];
它一直说它无法识别Access表对象,我百分之百确定表名是正确的,并且有到数据库的连接。也许我不知道列出Access数据对象的特定语法

更具体地说,错误是无效的对象名。

Ben

您应该在SQL Server中创建链接服务器以联系Access db,对于此步骤,您可以检查以下内容:

然后可以按以下方式运行insert语句: 插入work.sql\u merged\u database.dbo.TableA ColumnA,ColumnB
从LinkedServerName.acs\u merged\u database.SchemaName.TableName中选择ColumnA、ColumnB

SQL数据库是否与Access数据库有连接?或者该连接仅存在于您的代码中?我的代码创建了到sql数据库和access数据库的两个打开且成功的连接,因此您无法告诉sql数据库使用access数据库表。SQL数据库没有连接。您需要将Access数据库信息读入代码中,然后将其转储到SQL数据库中。这就是为什么您会收到错误。您的代码插入Int。。。应至少插入…最好的方法是从Access导出,然后使用实用程序导入SQL Server。