gpt4 book ai didi

r - 在 Oracle 服务器上使用具有 IP 地址且没有 DSN 的新 odbc 包

转载 作者:行者123 更新时间:2023-12-04 10:34:56 25 4
gpt4 key购买 nike

我可以得到 odbc只要我为我的 Oracle 服务器添加 DSN,程序包就可以在 Windows 中工作,但我根本无法让它工作。也就是说,在添加一个名为“DummyDB”的 DSN 条目后,它只包含一个 IP 地址和服务 ID(当然,除了驱动程序之外),它可以工作:

conn <- dbConnect(odbc(), 
DSN = "DummyDB",
UID = credentials$login,
PWD = credentials$pw,
Port = 1521)

然而,这与 DSN 条目中的 IP、驱动程序和服务 ID 完全相同,但没有(IP x'ed out for privacy):
conn <- dbConnect(odbc(), 
Driver = "Oracle in IC",
Host = "xx.xxx.xx.xxx",
SVC = "XE",
UID = credentials$login,
PWD = credentials$pw,
Port = 1521)

这也不起作用:
conn <- dbConnect(odbc(), .connection_string = "Driver={Oracle in IC};Server=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=xx.xxx.xx.xxx)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=xe)));Uid=xxx;Pwd=xxx;")

当然,我尝试过以各种方式调整所有这些。无论如何,我得到了总是神秘的:
nanodbc/nanodbc.cpp:950: HY000: [Oracle][ODBC][Ora]ORA-12560: TNS:protocol adapter error
强制性细节:
  • 我正在使用我的路由器软件的 VPN 和端口转发,这些必须配置得足够正确才能使 DSN 连接成功,并指向路由器的 WAN IP。
  • 我尝试在 tnsnames.ora 和 listener.ora 中用路由器的 IP(我的客户端系统代码指向的)和服务器的本地 IP 替换我的服务器名称。我想我已经尝试了那里的每一种组合,每次都停止和启动整个服务器,并在启动后等待一分钟。实际上,对于这些组合中的大多数,DSN 连接会失败并显示 listener does not currently know of service requested in connect descriptor。 .同时,非 DNS 连接因我的好 friend “协议(protocol)适配器错误”而失败。
  • 我尝试在我的客户端上使用服务器的本地 IP,而我的客户端在同一个 LAN 中,并且在 .ora 文件中使用该本地 IP。同样的错误。简单的 IP ping 工作。

  • 也许出于某种原因,通过数据源管理器添加的 DSN 是硬性要求?在这一点上,如果有人使用此软件包成功连接到任何(Oracle)服务器但不使用客户端 DSN 条目,那就太好了。

    最佳答案

    我遇到了同样的问题,我尝试了所有相同的事情。我终于通过更改 Host 解决了它DBQ 的参数并在那里添加端口和服务名称:

    vdw = DBI::dbConnect(odbc::odbc(), 
    Driver= "My Oracle in Dir", # e.g. "Oracle in OraClient12Home1"
    DBQ = "my-host-name.domain.org:1521/my-service-name",
    Schema = "my_schema",
    UID="my_userid",
    PWD="my_password)

    希望有帮助!我花了很长时间才弄清楚...答案就在这里: RODBC connectivity to Oracle without tnsnames.ora

    关于r - 在 Oracle 服务器上使用具有 IP 地址且没有 DSN 的新 odbc 包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52191720/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com