TNS:监听器当前不知道连接描述符中给出的SID

时间:2011-12-04 13:11:00

标签: database oracle virtualbox

我得到了文件.ova来恢复已安装并配置了一些Java EE应用程序的虚拟机。不幸的是,我遇到了连接数据库的问题(也预装在.ova文件上)。我不知道它意味着什么,我该怎么做。值得一提的是,我的其他两位同事毫无困难地导入了整个东西,他们可以连接到数据库。

无论如何,在他们的虚拟机上,他们已连接到互联网,我没有,这可能是原因吗?项目使用hibernate连接到localhost,并提供以下详细信息:(但我与其他任何连接数据库的工具都会遇到同样的错误)

<bean id="dataSource"
    class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="driverClassName">
        <value>oracle.jdbc.driver.OracleDriver</value>
    </property>
    <property name="url">
        <value>jdbc:oracle:thin:@localhost:1521:xe</value>
    </property>
    <property name="username">
        <value>ad</value>
    </property>
    <property name="password">
        <value>ad</value>
    </property>
</bean>

我的硬件和它们之间的另一个区别是,我的主机系统是windows 7 x64,它们是windows xp

3 个答案:

答案 0 :(得分:1)

您能否在虚拟机中看到以下服务? 运行services.msc

  • OracleXE
  • OracleXEListener

如果它们已启动且您可以在虚拟机中连接Oracle XE(使用XE的链接启动菜单链接以便于检查。)

然后问题在于您与VM和主机的网络连接。查看同事的网络连接设置。 Virtual Box版本如下。

http://www.virtualbox.org/manual/ch06.html

  • 未附加
  • 网络地址转换(NAT)
  • 桥接网络
  • 内部网络
  • 仅限主机网络
  • 通用网络

执行此操作后,如果您尝试从主机连接到虚拟机,则需要更改连接字符串。在连接字符串中提供虚拟机的IP。

答案 1 :(得分:1)

这对我有用。在jdbc.properties中更改:

jdbc.databaseurl=jdbc:oracle:thin:@localhost:1521:xe

到此:

jdbc.databaseurl=jdbc:oracle:thin:@localhost:1521/xe

答案 2 :(得分:0)

该文件应为.ora

jdbc:oracle:thin:@localhost:1521:xe

这意味着您的计算机上应该有一个启动且功能齐全的oracle数据库实例。