sql >> Databáze >  >> RDS >> Oracle

Problém VB.NET s připojením k Oracle 11g

Cítím tvou bolest, právě jsem prošel něčím podobným v situaci nasazení. Pravděpodobně máte nainstalovaných více klientů a vaše prostředí stahuje knihovny dll pro starší vydání (i když máte nejnovější soubor oracle.dataaccess.dll správně odkazovaný ve vašem projektu). Oprava tohoto ve vašem vývojovém prostředí je jedna věc, server pro nasazení prod je věc druhá. Nejste si jisti, jaká je vaše situace nasazení, ale tady je to, co pro mě fungovalo.

Poté, co jsem se potýkal s pokusy upgradovat odp.net ve stávajícím oracle home, přidáním nového oracle home atd., jsem našel nejjednodušší způsob, jak vše opravit, stáhnout si nejnovější odac s nasazením xcopy od společnosti Oracle a postupujte podle readme (a viz zde pro starší článek na toto téma). V zásadě spustíte soubor install.bat pro místní nastavení (v samostatné složce, můj byl c:\oracle_odac), poté změníte odkaz na svůj projekt tak, aby ukazoval na soubor oracle.dataaccess.dll v této nové složce (použil jsem 4 místo 2.x) a přidejte adresáře bin nové složky před vaši cestu (c:\oracle_odac\bin a c:\oracle_odac\odp.net\bin\4). Na vašem implementačním serveru stačí zkopírovat celou složku c:\oracle_odac (přes xcopy nebo jinak) a nastavit cestu.

To znamená, že s napětím očekávám produkční vydání plně spravovaného odp.net od společnosti Oracle (nyní ve verzi beta).

EDIT:Jen pro doplnění, že se můžete vyhnout záměně s cestami PATH, pokud v konfiguračním souboru aplikace nebo webu nastavíte cestu dll. Například:

<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>
...

Tím přepíšete ostatní nastavení, jako je registry nebo machine.config. A umožní to nerušenou existenci více konfigurací odp.net a umožní každé aplikaci odkazovat na verzi, kterou potřebuje, na stejném serveru.



  1. ORA-21700:objekt neexistuje nebo je označen k odstranění pro Asociativní pole jako vstupní parametr volaný z ODP.NET

  2. pymssql.OperationalError:Chybová zpráva DB-Lib 20009, závažnost 9

  3. LOAD DATA INFILE vložen pouze 1 záznam

  4. Mám v MySQL použít datový typ datetime nebo timestamp?