我正在尝试用我们可以从存储过程调用的exe替换DTS访问导出程序包(使用xp_cmdshell)。
我们正处于SQL 2000和SQL 2005之间的转换过程中,目前如果我们不能使用DTS或SSIS这将是最好的选择。
我相信我有以下选择:
如果有任何其他选项可以将大量数据从SQL传输到一个非常棒的Access数据库,但性能是个大问题,因为我们可以处理每个表最多1mil的记录。
答案 0 :(得分:1)
您是否尝试过this?
答案 1 :(得分:1)
为什么不在Access中创建链接表,从Sql Server中提取数据而不是从Sql推送到Access?
答案 2 :(得分:1)
我已经做了很多案例,我从Access数据库开始,附加到SQL Server,创建Create Table或Insert Querydef,并编写一些代码来执行querydef,可能带参数。但是我需要对你的问题做出很多假设,并且熟悉Access以了解更多细节。你能用这种描述得到多远?
答案 3 :(得分:1)
我最终使用了Access互操作,感谢le dorfier将我指向导入功能的方向,这似乎是最简单的方法..
我现在有以下几点:
Access.ApplicationClass app = new Access.ApplicationClass();
Access.DoCmd doCmd = null;
app.NewCurrentDatabase(_args.Single("o"));
doCmd = app.DoCmd;
//Create a view on the server temporarily with the query I want to export
doCmd.TransferDatabase(Access.AcDataTransferType.acImport,
"ODBC Database",
string.Format("ODBC;DRIVER=SQL Server;Trusted_Connection=Yes;SERVER={0};Database={1}", _args.Single("s"), _args.Single("d")),
Microsoft.Office.Interop.Access.AcObjectType.acTable,
viewName,
exportDetails[0], false, false);
//Drop view on server
//Releasing com objects and exiting properly.
答案 4 :(得分:0)
你看过bcp了吗?它是一个命令行实用程序,可以很好地导入和导出大量数据。我从未尝试过使用Access,但它是DTS和/或SSIS的轻量级替代品。
就像其他人所说的那样,我知道将数据导入Access mdb的最简单方法是在Access中进行设置。粗略地说: