Oracle Pro*C ORA-12547
我正在重新编译一些目前我公司没有人编译过的 Pro*C 代码。 它编译正常,但是当我将其复制到生产服务器并运行它时,我收到 Oracle 错误 ORA-12547(TNS:失去联系)
有什么想法吗?
I'm working on re-compiling some Pro*C code that no one currently at my company has ever compiled. It's compiling OK, but when I copy it to the production server and run it I'm getting Oracle error ORA-12547 (TNS: lost contact)
Any ideas?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
哦,想通了。 :-)
C 可执行文件不是直接在服务器上运行,而是通过设置连接环境的脚本启动。 即像这样:
Oh, figured it out. :-)
The C executable isn't run directly on the server, but launched through a script that sets up the connection environment. i.e. something like this:
与此相关的是,我刚刚发现当我尝试使用 PL/SQL 连接到 Oracle 数据库并且同时打开 VPN 连接时,我在 Windows 计算机上遇到相同的错误 ORA-12547 TNS 失去联系。
Related to this, I just found out that I get the same error ORA-12547 TNS lost contact on my Windows machine when I try to connect to an Oracle database with PL/SQL and at the same time I have a VPN connection open.
我在 Linux、Oracle 11gR2 上遇到了类似的问题。 Oracle 所有者可以运行 SQL*Plus 并通过 TNS 或本地连接进入。 非oracle用户可以通过TNS登录,但不能作为本地连接。
事实证明,答案是 ORACLE_HOME 文件系统被挂载为“nosuid”。 删除该安装选项解决了我的问题。
I had a similar problem on Linux, Oracle 11gR2. Oracle owner could run SQL*Plus and get in via either TNS or local connection. Non-oracle user could log in via TNS, but not as local connection.
Turns out the answer was that the ORACLE_HOME filesystem was mounted "nosuid". Removing that mount option solved my issue.