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

Proč nasazení ODP.NET 11 xcopy nefunguje na počítači s nainstalovaným Oracle DB 10?

Takže pokud tomu dobře rozumím, problém byl v tom, že zatímco Oracle.DataAccess.dll byl ve stejném adresáři jako aplikace, nemohl najít své přátele nižší úrovně (oci, et al), proto došlo k chybě kompatibility.

Ukázalo se, že pokud chcete, aby aplikace fungovala s nasazením ODAC 11 xcopy bez ohledu na to, co dalšího si uživatel na svůj počítač nainstaloval, musíte udělat 2 věci:

  1. Nastavte pro proces proměnnou prostředí PATH. (Už jsem to dělal.)
  2. Nastavte proměnnou prostředí ORACLE_HOME pro proces. (To jsem nedělal.)

    Environment.SetEnvironmentVariable("PATH", Environment.CurrentDirectory + "\\oracle\\11.1\\odac;" + Environment.CurrentDirectory + "\\oracle\\11.1\\odac\\bin;", EnvironmentVariableTarget.Process);
    Environment.SetEnvironmentVariable("ORACLE_HOME", Environment.CurrentDirectory + "\\oracle\\11.1\\odac", EnvironmentVariableTarget.Process);
    

UPRAVIT: Je také důležité poznamenat, že Oracle tuto chybu vyvolá nejen kvůli problémům s životním prostředím, ale také v případě, že na cílovém počítači chybí jeden ze souborů. Na jiných počítačích se mi objevila stejná chyba navzdory nastavení prostředí, protože jsem měl Subversion nastaven tak, aby ignoroval adresáře zvané "bin", takže OraOps DLL nebyla zkopírována do klienta.



  1. Chci, aby tabulka mysql podporovala dva jazyky

  2. Použití Pythonu pro přístup k SQL s názvem proměnného sloupce

  3. Proč je vnořená transakce potvrzena, i když není nikdy volána metoda TransactionScope.Complete()?

  4. OpenSSL - chyba 18 při vyhledávání hloubky 0:certifikát s vlastním podpisem