在C#中连接到大型Oracle数据库

时间:2014-07-01 13:04:12

标签: c# database oracle

我一般都是Oracle的新手(从SQL Server迁移而不是选择),如果这是一个愚蠢的问题,请道歉。

我在VS2012中添加了System.Data.OracleClient对我的C#Windows窗体项目的引用,并且我可以通过选择数据集&gt,成功连接到数据源配置向导中的远程Oracle数据库;数据库(虽然不在实体数据模型中,但这不是问题)。但是,当我进入"选择您的数据库对象"时,我试图选择其中的大量数据,并且当我单击完成时应用程序冻结。

数据库有点复杂,在接下来的一周左右我可能需要大多数(如果不是全部)表。有没有更好的方法直接连接到数据库,而不是通过DSCW?

3 个答案:

答案 0 :(得分:1)

System.Data.OracleClient已经被删除了一段时间,我认为最后一次使用2.0。 Oracle的ODP.net是推荐的客户端。它利用OCI并可以访问许多特定于Oracle的功能,例如批量插入和更新。 System.Data.OracleClient在参数方面也非常糟糕 - 如果你试图使用绑定变量,它会有很大的性能拖累。

如果你想使用Entity,你应该考虑DevArt的dotConnect。免费版本不支持实体,但付费版本支持实体。付费版本也不需要主机上的Oracle客户端,上次我检查过,ODP.net仍然如此。如果您的雇主正在付款,则升级可能值得使用实体。

除了System.Data.OracleClient不是很好之外,我无法想象为什么添加大量数据库对象会导致冻结。试试ODP.net和/或DevArt。

答案 1 :(得分:0)

您不应该一次添加所有表格。添加要使用的表。另外,您可以使用code first approach。 (如果您首先选择数据库仍然可以。)

其他选项是,如果您使用的是Entity Framework> = 5.0,那么您还可以使用multiple diagrams来避免渲染和缓慢问题。

答案 2 :(得分:0)

点击此链接并按照说明操作。如果你看到任何成功,请告诉我

oracle guideline: Using Oracle Developer Tools for Visual Studio