我可以使用Power Pivot中的完整连接字符串连接到客户端的Oracle数据库。但是,我需要连接Power Query,它在尝试使用完整连接字符串时会抛出错误,因为它超过了128个字符的限制。因此,我尝试在Power Query中使用EZConnect和TNS名称,但都生成ORA-12154错误消息。当我尝试在Power Pivot中使用EZConnect或TNS名称时,我收到相同的错误消息。在同一网络上的至少一台其他计算机上成功读取TNSnames.ora文件的副本。
确切的错误信息是:
“无法连接。我们在尝试连接时遇到错误。详细信息:'Oracle:ORA-12154:TNS无法解析指定的连接标识符”
。
系统详细信息
OS
Windows 7企业版64位计算机
应用
Microsoft Excel 2013 32位
Oracle 11gR202客户端32位
(来自客户端批准的安装站点,即不是Oracle下载的版本)
Oracle 11gR202客户端64位
(来自客户端批准的安装站点,即不是Oracle下载的版本)
OraDB11g_home1
(这是oracle下载站点的原始安装。在安装过程中,安装程序显示了许多“找不到文件错误消息”,我认为这意味着此版本缺少一个标志,表明它已被批准用于客户端的系统。所以我安装了上面的客户端批准版本,这使得能够使用完整的连接字符串通过Power Pivot连接。
instantclient_12_1(C:\ Program Files \ instantclient_12_1)
配置
TNS_ADMIN
- 系统和用户变量(TNSnames.ora文件的相同副本位于两个位置):
C:\ ORACLE \网络\管理员;
C:\ app \ nd369d \ product \ 11.2.0 \ dbhome_1 \ NETWORK \ ADMIN
PATH
- 系统变量:
C:\ ORACLE \ 11gR202Client64bit \ BIN \;
C:\ ORACLE \ 11gR202Client32bit \ BIN \;
C:\ ProgramData \ ORACLE \的Java \ javapath;
C:\ Program Files \ instantclient_12_1;
C:\应用\ nd369d \产品\ 11.2.0 \ dbhome_1 \ BIN;
C:\ ORACLE
JAVA
(我从客户端的安装站点更新到Java 8更新66.当程序安装了更新时,它没有删除早期版本,所以现在两者都出现在机器上):
Java 7 Update 51(64位)
Java 7 Update 51
Java 8 Update 66(64位)
Java 8 Update 66
答案 0 :(得分:0)
您安装了多个oracle客户端,很可能他们有不同的tnsnames.ora和sqlnet.ora变体。
另见:http://www.orafaq.com/forum/t/74793/