【发布时间】: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 位,不能混合使用)