使用ASP.NET将批量数据从Oracle加载到Access

时间:2012-12-15 09:41:26

标签: asp.net oracle ms-access

我需要在ASP.NET页面上有一个按钮,该按钮会触发从Oracle中的一个表到Access DB的数据副本。大约有25,000行。这个过程每天2-3次触发,优化(速度)是关键要求。

我尝试用Oracle创建一个DataReader数据,然后在每次使用ExecuteNonQuery()执行INSERT INSERT时迭代它。使用这种方法需要5分钟以上。

这根本不是我的专业领域,我很欣赏一些关于我应该做什么的提示(甚至是工作代码示例)。

很少精确:出于某种原因(我知道它已被弃用),我必须使用System.Data.OracleClient。 Oracle中的表和Access中的表具有相同的字段名称。

1 个答案:

答案 0 :(得分:2)

您可以针对包含与Oracle的内联连接的MS Access连接运行查询。我目前没有Oracle的副本,但它看起来像是:

 INSERT INTO MyTable (field1name, field2name, etc )
 SELECT (field1name, field2name, etc ) 
 FROM [ODBC;Driver={Microsoft ODBC for Oracle};Server=myServerAddress;Uid=myUsername;Pwd=myPassword;].MyTable;

http://www.connectionstrings.com/oracle#microsoft-odbc-for-oracle

通过使用外部数据向导将相关表连接到MS Access副本,然后检查Tabledef的connect属性,可以获得准确的连接字符串。这导致了另一种可能性,即使用链接的Oracle表对Access连接运行查询。这只是一个直接的MS Access查询。

最后,您应该能够从Oracle输出到CSV并导入到MS Access中,这应该比逐行更快,因为几乎所有东西都是。

相关问题