【发布时间】:2017-08-17 15:43:42
【问题描述】:
简介:
我目前正在开发一个使用 Microsoft 的 OracleClient dll 的 MVC 4 应用程序。我现在正计划迁移到 Oracle 的 ManagedDatAccess.dll。
我根据 Oracle 提供的信息采取的步骤。
替换了所有提及的 OracleClient。
//ie removed using System.Data.OracleClient
//added
using Oracle.ManagedDataAccess.Client;
using Oracle.ManagedDataAccess.Types;
将我所有的 oracle 类型更新为新的。
//ie removed public OracleType typeOracle { get; set; }
//added
public OracleDbType typeOracle { get; set; }
已配置的 Web.config
<oracle.manageddataaccess.client>
<version number="*">
<LDAPsettings>
<LDAPsetting name="DIRECTORY_SERVERS" value="(oidserverver.domain.com:3060:3131)" />
<LDAPsetting name="DIRECTORY_SERVER_TYPE" value="oid" />
<LDAPsetting name="DEFAULT_ADMIN_CONTEXT" value="dc=domain,dc=com" />
</LDAPsettings>
<settings>
<setting name="NAMES.DIRECTORY_PATH" value="(TNSNAMES, LDAP)" />
<setting name ="TNS_ADMIN" value="C:\app\product\12.1.0\client_1\network\admin" />
</settings>
<dataSources>
<dataSource alias="SampleDataSource" descriptor="(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=ORCL))) "/>
</dataSources>
</version>
</oracle.manageddataaccess.client>
然后我尝试运行我的应用程序,但出现以下异常:
[NetworkException (0x30f9): ORA-12537: Network Session: End of file]
[OracleException (0x80004005): ORA-12537: Network Session: End of file]
当我尝试打开连接时就发生了:
private void setConnection()
{
if (conn == null)
{
conn = new OracleConnection();
conn.ConnectionString = _OracleConnectionString;
}
if (conn.State != ConnectionState.Open)
{
conn.Open(); // Throws exception here.
}
}
我是一个相当新的程序员,如果可能,请具体说明我应该采取哪些步骤。
【问题讨论】:
标签: .net oracle c#-4.0 database-connection odp.net