sql >> データベース >  >> RDS >> Oracle

Oracle 11g への VB.NET 接続の問題

    私はあなたの痛みを感じます.展開状況で似たようなことを経験しました.おそらく複数のクライアントがインストールされており、環境は古いリリースの dll をプルしています (プロジェクトで最新の oracle.dataaccess.dll が正しく参照されている場合でも)。開発環境でこれを修正することは 1 つのことですが、prod デプロイメント サーバーは別のことです。あなたの展開状況がどのようなものかはわかりませんが、これが私にとってうまくいったことです.

    既存のオラクル ホームで odp.net をアップグレードしたり、新しいオラクル ホームを追加したりするのに苦労した後、すべてを修正する最も簡単な方法は、最新の xcopy デプロイメントによる odac Oracle から、readme に従います (そして ここ これに関する古い記事についても)。基本的には、install.bat ファイルを実行してローカルでセットアップし (別のフォルダー、私の場合は c:\oracle_odac)、プロジェクト参照を変更して、この新しいフォルダー内の oracle.dataaccess.dll を指すようにします (私は代わりに 4 を使用しました2.x) を作成し、新しいフォルダーの bin ディレクトリをパス (c:\oracle_odac\bin および c:\oracle_odac\odp.net\bin\4) の前に追加します。展開サーバーでは、c:\oracle_odac フォルダー全体を (xcopy などを使用して) コピーし、パスを設定するだけです。

    とはいえ、完全に管理された製品のリリースを心待ちにしていますodp.net Oracle から (現在はベータ版)。

    編集:アプリまたはWeb構成ファイルでdllpathをセットアップすると、PATHをいじるのを避けることができることを追加するだけです。例:

    <configuration>
    ...
        <configSections>
          <section name="oracle.dataaccess.client" type="System.Data.Common.DbProviderConfigurationHandler, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>  
    ...
    
    <oracle.dataaccess.client>
        <settings>
          <add name="DllPath" value="c:\oracle_odac\bin"/>
        </settings>
      </oracle.dataaccess.client>
    ...
    

    これにより、registry や machine.config などの他の設定が上書きされます。また、複数の odp.net 構成が問題なく存在できるようにし、各アプリが同じサーバー上で必要なバージョンを指すようにします。



    1. 文字列が有効なDATE、TIME、またはDATETIMEであるかどうかを確認する方法

    2. MySQL列名の標準/規則

    3. AWSEC2からAWSRDSへのOracleデータベースの移行、パート3

    4. Oracle12cの休止状態の方言