简介:
我目前正在开发一个使用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.
}
}
我是一个相当新的程序员,如果可能的话请具体说明我应采取的步骤。
答案 0 :(得分:0)
我在我的机器上重新安装了oracle 12客户端。
独立......