【问题标题】:Connection to Oracle ODBC Datasource via Visual Studio asp.net通过 Visual Studio asp.net 连接到 Oracle ODBC 数据源
【发布时间】:2021-07-09 11:45:54
【问题描述】:

我想连接到我们网络中的一个 oracle 数据库,但我不知道如何。 在可视化代码中,我们将这个 .env 用于我们的数据库连接:

# db credentials
ORACLEDB_USER=x
ORACLEDB_PASSWORD=x
ORACLEDB_HOSTNAME=xxxx
ORACLEDB_PORT=1521
ORACLEDB_SERVICE_NAME=xxxx
IF_INV_PATH=
inv_target_path=
TIFF_PATH_ROOT=
inv_path=

有效。 当我现在尝试使用 Visual Studio ODBC 服务器连接时,我必须使用连接字符串。 我试过这样的事情(通过谷歌找到): (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=xxxx)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=xxxx)));uid=xxxx;pwd=xxxx;

我在哪里得到这个错误:

(大致翻译为:找不到数据源,并且没有给出默认驱动程序)

我很困惑,没有设置与 Oracle 数据库的连接的经验。 我已经从这个站点安装了 x64 驱动程序: https://docs.microsoft.com/de-de/sql/connect/odbc/download-odbc-driver-for-sql-server?view=sql-server-ver15 但这并没有改变任何东西。

【问题讨论】:

  • Microsoft ODBC 驱动程序是 32 位(并且已弃用)安装 32 位 Oracle 客户端或使用 Oracle 的 64 位 ODBC 驱动程序。
  • 链接指向 SQL Server 的 ODBC 驱动程序 - 而不是 Oracle 数据库。
  • 在这里您可以找到 Oracle 的 ODBC 驱动程序的链接:oracle.com/database/technologies/instant-client/downloads.html
  • 谢谢,我星期一试试。顺便说一句,我知道我的连接字符串是正确的,因为如果我打印 python 连接对象,它与可视代码返回的相同。希望这能解决我的问题
  • 这不是您的连接字符串的问题。 ODBC 驱动程序、安装的 Oracle 客户端和您的应用程序必须匹配(即所有三个必须是 32 位或 64 位,不能混合使用)

标签: asp.net oracle odbc


【解决方案1】:

感谢 Wernfried Domscheit,我终于让它工作了。 谢啦! 这是我的做法:

  1. 安装 Visual Studio

  2. 下载18.5版基本包/ODBC包

    https://www.oracle.com/de/database/technologies/instant-client/microsoft-windows-32-downloads.html

    https://www.oracle.com/de/database/technologies/instant-client/winx64-64-downloads.html#ic_winx64_inst

  3. 在同一个目录下解压(我选择C:\oracle\odbc\x86(x64)\instantclient_18_5)并以管理员身份通过cmd安装驱动:C:\oracle\odbc\x86\instantclient_18_5>odbc_install.exe

  4. 创建 C:\oracle\admin 并将 tnsnames.ora 放入

    dev =
      (DESCRIPTION =
        (FAILOVER = ON)
        (LOAD_BALANCE = OFF)
        (CONNECT_TIMEOUT=3)
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = xxxxx)(PORT = 1521))
        )
        (CONNECT_DATA = 
          (SERVER = DEDICATED)
          (SERVICE_NAME = xxxxxx)
          (SID = ORCL)
        )
      )
    
  5. 系统变量 → 将 TSN_ADMIN : C:\oracle\admin 添加到环境变量中 和 C:\oracle\odbc 到路径

  6. 打开 ODBC-Datenquelle-Adminsitrator 32 / 64 位→ System-DSN 并添加

  7. 打开 Visual Studio → 服务器资源管理器 → 连接到数据库 → Microsoft ODBC 数据源 (ODBC) 并选择您的用户/系统数据源名称

【讨论】:

    猜你喜欢
    • 2016-11-22
    • 1970-01-01
    • 1970-01-01
    • 2023-03-24
    • 2019-08-23
    • 2011-09-25
    • 2012-09-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多