首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C#将MS-Access数据库导入SQL Server?

C#将MS-Access数据库导入SQL Server?
EN

Stack Overflow用户
提问于 2012-02-22 18:07:29
回答 3查看 5.6K关注 0票数 1

我需要每天将数据从MS Access数据库导入到SQl Server2000数据库中。既然我需要每天自动完成这项工作,有没有一个c#例程可以做到这一点?

MS Access数据库中的表将被命名为SQL Server中的相同表,它需要删除SQL Server数据库中的表,然后从MS Access导入新数据/表。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-02-22 18:37:04

三个步骤:

1-在SQLServer中创建一个LinkedServer,如下所示:

EXEC master.dbo.sp_addlinkedserver @server = 'Customers', @srvproduct = 'CustomersDB', @provider = 'Microsoft.Jet.OLEDB.4.0', @datasrc = 'C:\inetpub\wwwroot\ftp\AccessDB.MDB', @location = '', @provstr = '', @catalog = ''

EXEC master.dbo.sp_serveroption @server = 'Customers', @optname = 'collation compatible', @optvalue = 'false'

2-在目标sqlserver中创建一个执行导入工作的存储过程

CREATE PROCEDURE ImportMDBData

as

TRUNCATE TABLE sqlServerCustTable

INSERT INTO sqlServerCustTable (list your columns name here) (SELECT * FROM Customers.dbo.mdbCustTable)

3-现在您只需要从代码中调用存储过程

票数 0
EN

Stack Overflow用户

发布于 2012-02-22 18:35:38

一种选择是在sql server数据库中创建一个存储过程来执行此操作,请参阅此处:select from access database file and insert to sql Database

正如marc_s所提到的,您也许能够使用SSIS --但是要正确地使用SSIS,可能需要大量的学习。

另一个选择是从C#内部控制它-从access DB中提取数据,然后将其插入到sql server中-这不太可能是您想要的。

如果您的access db和sql server实例保证在同一台服务器上,那么我倾向于尝试选项1。如果不是这样,则会引发数十个额外的问题;)

编辑:你提到它可以通过点击一个按钮来完成-在这种情况下,你真的应该至少给SSIS解决方案一遍,看看它看起来是否像你想要的,它正是为这种类型的场景而设计的。

票数 1
EN

Stack Overflow用户

发布于 2016-01-16 20:42:32

access.mdb链接服务器在sql server的任何版本中,都应该需要Microsoft.ACE.OLEDB.12.0或Microsoft.Jet.OLEDB.4.0。这些驱动程序有32位和64位两种类型。64位os优选安装64位jet驱动程序,否则链接可能不起作用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9392701

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档