从在 Unix 上运行的 Perl 脚本连接远程 Oracle 数据库服务器,无需 Oracle 客户端
我有一台 Unix 机器,我需要通过 Perl/Shell 脚本连接到远程 Oracle 数据库服务器。我在网上搜索过,但没有找到关于是否可以在不安装 Oracle 客户端的情况下将 Unix 机器与 Oracle DB 服务器连接的详细信息。
I have a Unix machine which I need to connect to a remote Oracle database server though Perl/Shell script. I have searched online but did not find a thorough information on whether it's possible to connect the Unix machine with the Oracle DB server without installing an Oracle client.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我想您不想/没有机会安装 Oracle 客户端(这是更好的选择)。如果你不介意性能并且使用Java作为桥梁,你可以看看 DBD::JDBC 模块。它有一个服务器,您需要使用 Java 从命令行启动。
从文档中可以看出:DBD::JDBC 服务器是一个旨在从命令行运行的 Java 应用程序。它可以与您希望使用的任何 JDBC 驱动程序(即,classes12.jar)一起安装在能够通过 JDBC 访问您希望使用的数据库的任何主机上。
使用 DBD::JDBC 的 Perl 应用程序将打开到该服务器的套接字连接。您需要知道该服务器运行的主机名和端口。您可以将服务器安装在运行 Perl 脚本的同一台计算机上,或者如果您愿意的话也可以安装在其他计算机上。
我在像您这样的场景中使用此解决方案,在这些场景中,我无法安装Oracle客户端,并且对数据库访问的性能要求不高。
I suppose that you don't want / have the opportunity of installing the Oracle Client (that's the better choice). If you don't mind the performance and use Java as a bridge, you can take a look at DBD::JDBC module. It has a server you need to start from the command line with Java.
From the documentation: the DBD::JDBC server is a Java application intended to be run from the command line. It may be installed, along with whatever JDBC driver you wish to use (i.e classes12.jar), on any host capable of accessing the database you wish to use via JDBC.
Perl applications using DBD::JDBC will open a socket connection to this server. You will need to know the hostname and port where this server is running. You can install the server at the same machine you are running the Perl script, or other if you want.
I use this solution at scenarios like yours, where I cannot install the Oracle Client and I don't have high performance requirements in database access.