Rut*_*mui 8 c# oracle visual-studio-2010 odp.net-managed
我终于承认失败并寻求帮助.我已经做了我能想到的所有事情来解决这个问题,但似乎我无法做到这一点.
我正在使用:VS2010 C#Oracle 12c ODP.Net Managed121012
我继承了一个使用托管和非托管dataaccess dll的应用程序.它一直在工作,直到我卸载oracle.然后我为64位机器重新安装了11g客户端.我立刻注意到安装了框架2只有dataaccess dll,但我仍然继续.然后我将所有oci和ora dll从client_1文件夹复制到我的应用程序的bin目录中,并将Oracle.DataAccess.dll复制到我的bin目录中.我还将Oracle.ManagedDataAccess.dll复制到此文件夹中.
只要我没有更改数据集上的任何内容,我的应用程序就会成功运行.我会很乐意继续这样做,除了我必须创建更多的数据集.当我尝试添加新数据集时,我的数据源连接向导下拉列表为空.然后我尝试重新创建连接,但只能看到.Net Framework DProviders.我看不到托管服务提供商.在某些时候,我也得到了这个错误"当前没有选择数据提供者".
认为这是因为没有安装托管服务提供商我卸载了11g客户端并安装了64位12c客户端并将所有相关文件复制到我的应用程序的bin中.我在app.config文件中添加了以下行:
<configSections>
<section name="oracle.manageddataaccess.client" type="OracleInternal.Common.ODPMSectionHandler, Oracle.ManagedDataAccess" />
Run Code Online (Sandbox Code Playgroud)
<system.data>
<DbProviderFactories>
<remove invariant="Oracle.DataAccess.Client" />
<remove invariant="Oracle.ManagedDataAccess.Client" />
<add name="ODP.NET, Managed Driver" invariant="Oracle.DataAccess.Client"
description="Oracle Data Provider for .NET, Managed Driver"
type="Oracle.ManagedDataAccess.Client.OracleClientFactory, Oracle.ManagedDataAccess, Version=4.121.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342" />
</DbProviderFactories>
Run Code Online (Sandbox Code Playgroud)
在此之后,我现在可以看到一些旧的数据源,但我无法连接到我的数据库,因为我收到"连接请求超时".当我手动创建一个新连接时,我可以很好地与非托管提供程序连接,但得到一个连接请求超时错误.
我真的在绳子的尽头,在使用绳子之前真的很欣赏新鲜的眼睛.
提前致谢.
tom*_*ole 14
切换到托管驱动程序后我遇到了同样的问题.甚至使用本机和托管驱动程序编写了测试应用程序.结论是托管驱动程序需要比本机驱动程序更多的时间来打开新连接.对我们有用的解决方案是使用连接字符串设置大的连接超时.
<connectionStrings>
<add name="ConnectionString" connectionString="data source=xxxx;user id=xxxx;password=xxxx;persist security info=false;Connection Timeout=120;" />
</connectionStrings>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16576 次 |
| 最近记录: |