Deploy a .Net application with Oracle Client 11

风格不统一 提交于 2020-01-03 00:57:12

问题


I've followed this post and it's not working. Can someone tell me what else to check?

Steps I followed:

  1. I added dll's from my current install of Oracle (11gR2_x32) to the root of my project. I did not use the basic-lite as the post stated but I assumed that the dll's would be the same, right?

    • oci.dll
    • ociw32.dll
    • Oracle.DataAccess.DLL
    • orannzsbb11.dll
    • oraocci11.dll
    • oraociicus11.dll
    • OraOps11w.dll
  2. Selected each dll within my project and set the 'Build Action' to 'Content' and 'Copy to Output Directory' to 'Copy Always'

  3. Added a reference to Oracle.DataAccess

  4. Added 'Imports Oracle.DataAccess.Client' to my vb code.

The code works fine but it still requires the user to install Oracle. My intent was to not have them install oracle. I verified that when they install my program all the dll's are present in the program folder.

What else can I check?


回答1:


The code works fine but it still requires the user to install Oracle. My intent was to not have them install oracle.

To my knowledge, there is no truly "embedded" Oracle and you cannot avoid installing the Oracle database server. If you really need an embedded database, there are several good alternatives, including but not limited to: SQLite, MS SQL Server Compact or LocalDB1, Interbase/Firebird etc...

Few years back, Oracle ran a licensing program for companies, where you could integrate the Oracle setup into your own setup and make it "invisible" to users, but this would still install the full Oracle server. That's how earlier versions of PTC Pro/INTRALINK installed for example - you didn't need a separate Oracle installation. I don't know whether this licensing program is still available, but even if it were, you are probably looking at a very significant financial investment.

BTW, Fully Managed .NET provider for Oracle is currently in beta - this will ease the client deployment even further and eliminate 32-bit vs 64-bit mismatches.


1 LocalDB is not technically "embedded" as in "in-process", but that probably won't make a difference to your end users.



来源:https://stackoverflow.com/questions/12828626/deploy-a-net-application-with-oracle-client-11

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!