VS2015 C# 專案連接本地 Oracle 11g,拋出異常(截圖顯示「嘗試加載格式不正確的程序」或「BadImageFormatException」)。
架構不匹配:
oci.dll 等)。Oracle Data Provider for .NET (ODP.NET) 4.x 並勾選 64 位。Oracle.ManagedDataAccess.dll(托管驅動,無需本地 Client,最簡單)。Prefer 32-bit(反過來:若想 32 位則勾選)。Enable 32-Bit Applications = True。Install-Package Oracle.ManagedDataAccess。app.config / web.config:<configSections>
<section name="oracle.manageddataaccess.client"
type="OracleInternal.Common.ODPMSectionHandler, Oracle.ManagedDataAccess" />
</configSections>
<oracle.manageddataaccess.client>
<version number="*">
<dataSources>
<dataSource alias="MyDB"
descriptor="(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=ORCL)))" />
</dataSources>
</version>
</oracle.manageddataaccess.client>
<connectionStrings>
<add name="OracleConn" connectionString="User Id=bbyyj;Password=bbyyj;Data Source=MyDB" />
</connectionStrings>
代碼中:
using Oracle.ManagedDataAccess.Client;
var conn = new OracleConnection(ConfigurationManager.ConnectionStrings["OracleConn"].ConnectionString);
conn.Open(); // 無需本地 Oracle Client 安裝
tnsping ORCL 測試網絡連通。tnsnames.ora 服務名配置正確。