我正尝试通过Power Query > From Database > From Oracle Database
连接到Oracle,然后输入BI_TST
,它位于我的TNSNAMES(位于:C:\oracle\product\10.2.0\client_2\network\ADMIN
)中,并且内部有以下连接:< / p>
BI_TST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = srv-oracle3.mycompany.com.br)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = bitst)
)
)
此外,我将变量路径配置为TNS_ADMIN=C:\oracle\product\10.2.0\client_2\network\ADMIN
。
当我使用SQL Developer进行连接时,不使用TNS手动设置所有信息,它可以工作!
当我尝试在Excel中使用TNS连接时,我收到错误:
Message=ORA-12154: TNS:não foi possível resolver o identificador de conexão especificado
ErrorCode=-2146232008
这意味着英文:“无法解析连接标识符”
有谁可以帮我解决这个问题?
提前致谢!
答案 0 :(得分:2)
老实说,我已经填满了tnsnames。我理解它背后的想法并且可以理解,但是我花了更多的时间来弄清楚为什么它不起作用而不是我保存额外的击键。
在我看来,绕过TNSnames使用Oracle的ezconnect:
srv-oracle3.mycompany.com.br:1521/bitst
取代:
BI_TST
这也适用于ODBC。如果无法通过PowerQuery的Oracle驱动程序直接连接,请尝试通过ODBC。虽然它是你可能不想要的附加层,但我怀疑你会注意到性能差异,它可能会抽象出你通常要处理的困难。
答案 1 :(得分:2)
澄清Hambone的回应,通过Oracle客户端驱动程序将Excel连接到Oracle而不使用TNS名称:
希望这适用于所有人。