【问题标题】:Connect to Oracle DB from VB 2008 application without installing Oracle software?在不安装 Oracle 软件的情况下从 VB 2008 应用程序连接到 Oracle DB?
【发布时间】:2010-09-26 17:15:23
【问题描述】:
Imports System.Data.OleDb

Public Class Log

    Private mConnectionString As String = "Provider=OraOLEDB.Oracle;Data Source=(DESCRIPTION=(CID=GTU_APP)(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=xxx)(PORT=1521)))(CONNECT_DATA=(SID=xxx)(SERVER=DEDICATED)));User Id=xxx;Password=xxx;"
    Dim ds As New DataSet
    Dim da As New OleDbDataAdapter
    Dim dr As DataRow
    Dim Connection As New OleDbConnection(mConnectionString)
    Dim Command As OleDbCommand
    goes on...

这就是代码,它在我们的开发机器上运行良好。我们的机器上都安装了 Oracle 提供程序。现在我尝试在另一台没有安装 Oracle 软件的机器上的应用程序中使用此代码,但它不起作用。

现在我知道我可以在这些其他机器上安装 Oracle 提供程序并且它会工作。问题是 A)他们很多,B)我必须通过我们的 IT 部门,他们需要六个月的时间才能完成。所以我的问题是,我可以从没有安装 Oracle 提供程序的机器连接到这个 Oracle 数据库吗?我以为微软有自己的 Oracle 提供商,但它没有出现在 System.Data 下。如果有帮助,.NET 版本是 3.5。有任何想法吗?

【问题讨论】:

    标签: vb.net oracle .net-3.5 connection


    【解决方案1】:

    Oracle Instant ClientODP.NET 的运气相当好,这几乎是直接的 XCOPY 部署(如果您不需要 ODBC)。

    IIRC,您确实需要修改 PATH 环境变量,但这相对容易 - 尤其是与 Oracle 用来让您跳过的箍相比。

    【讨论】:

      【解决方案2】:

      问题实际上是您在没有与公司的 IT/DBA 团队讨论基础架构需求的情况下启动了一个项目。这不是技术问题,而是流程问题。

      这里说的是一个可能的解决方案(虽然我没有亲自使用过)。 http://devart.com/dotconnect/oracle/

      【讨论】:

        【解决方案3】:

        是否可以在您的应用中找到并包含 Oracle DLL 而不是安装它们?

        【讨论】:

        • 我不这么认为。如果没记错的话,Oracle 客户端仍然需要安装。
        • 不,这是可能的,但要弄清楚您需要哪些 DLL 以及需要将它们放在哪里是一件非常痛苦的事情。运行 Oracle 安装程序并完成它通常更容易,但它通常至少是一个 500-600MB 的文件。
        • 我在 Oracle Lite 上经历了类似的过程,因为我们无法让人们从 Web 下载 500MB 的安装程序。我们的精简版是 3MB。
        【解决方案4】:

        我很确定您必须安装 Oracle 提供程序才能使其正常工作。 OleDb 可以轻松连接到 SQL Server 和 Access 等,但这只是因为这些提供程序预装在 Windows 中。

        我认为您唯一的选择(除了在每台机器上安装 Oracle 提供程序)是创建一个 SQL Server“前端”数据库,其中包括您需要的每个 Oracle 表的传递表,然后从 SQL Server 获取数据而不是 Oracle。

        实际上,另一种选择是让您的客户端应用程序从中间 Web 服务获取数据,而不是直接连接到数据库,但这可能需要重新编写。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2010-10-28
          • 1970-01-01
          • 2016-02-04
          • 1970-01-01
          • 2021-11-11
          • 1970-01-01
          • 2013-06-17
          相关资源
          最近更新 更多