展開を容易にするために、.NET プロジェクトをオラクルの管理に切り替えようとしています。ただし、テスト用の Win Server 2013 環境で次のエラーが発生します。
タイプ「Oracle.ManagedDataAccess.Client.OracleConnection」の接続のプロバイダ名を特定できません。
これまでに行った手順:
- ソリューションからすべての Oracle.DataAccess dll と参照を削除しました
- NuGet パッケージ マネージャーにOracle Data Provider for .NET (ODP.NET) Managed Driverを追加しました。
Imports Oracle.DataAccess
すべてのステートメントをに切り替えましたImports Oracle.ManagedDataAccess
ビルド エラーは発生せず、プロジェクトはローカルで正常に実行されます。ただし、テスト環境にデプロイすると、このエラーが発生します。テスト環境は Windows Server 2012 で、従来の Oracle 11.2.0 クライアント ツールがインストールされています。
これは私の接続作成コードです:
Public Sub New()
MyBase.New(
New OracleConnection(
ConfigurationManager.ConnectionStrings("Entities").ConnectionString),
True)
End Sub
私が試した 3 つの異なるスタイルの接続構成を次に示します (どちらもローカルで動作しますが、テスト環境では同じ問題が発生します)。
(見やすいようにフォーマットされています)
<add
name="Entities"
connectionString="
Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=###.###.###.###)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=______)));
User Id=_____;
Password=_____;"
providerName="Oracle.ManagedDataAccess.Client" />
<add
name="Entities"
connectionString="
Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=###.###.###.###)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=______)));
User Id=_____;
Password=_____;"
providerName="Oracle.DataAccess.Client" />
<add
name="Entities"
connectionString="
Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=###.###.###.###)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=______)));
User Id=_____;
Password=_____;"
/>
どんな助けでも大歓迎です!