我是一名 Mac 用户,我在虚拟机中拥有 Oracle 数据库,并且我一直在很好地处理它,我还在我的 Mac 计算机上安装了 Eclipse,我的问题现在开始了,我需要连接它们。
有什么方法可以使用虚拟机上的IP地址远程连接到我的oracle数据库吗?
换句话说,将 Mac 上安装的 Eclipse 连接到 Windows 虚拟机上安装的 Oracle 数据库。
最佳答案
是的,这是可以做到的,并且是开发的常见场景。根据您使用的虚拟机类型(VMWare、virtualbox 等),详细信息会有所不同,但您需要将相关 oracle 端口的端口转发设置到您的主机(Mac)上,或者配置桥接网络因此带有 oracle 的虚拟机在网络上有自己的 IP 地址。
我倾向于仅端口转发并使用 NAT,这意味着我可以使用普通的 jdbc 连接字符串连接到数据库,并将主机名部分设置为 localhost。下面的示意图应该可以让您大致了解正在发生的情况。
+--------------------------------------+
| |
| |
| v
| +-------+-----------+
| | |
| | 1512 |
+--------------------------------------------+------+-----+------++
| | Host Machine (Mac) | NAT + PortForwarding
| | | |
| | | |
| | | |
| | | |
| | v |
| | +------+-----------+ |
| | | 1512 | |
| | +-------------+------------------+ |
| | | | |
| +---------+-------------+ | | |
| | java application | | | |
| | | | | |
| | | | | |
| |db-url=localhost:1512/ | | ORACLE VM | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| +-----------------------+ | | |
| +--------------------------------+ |
+-----------------------------------------------------------------+
有关如何在 virtualbox 上设置 NAT/portforwding 的详细信息,请参阅此链接中的相关部分:https://www.howtogeek.com/122641/how-to-forward-ports-to-a-virtual-machine-and-use-it-as-a-server/
关于java - 如何远程连接JDBC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58277423/