gpt4 book ai didi

eclipse - 在 Hibernate 中更改数据库时出现问题

转载 作者:行者123 更新时间:2023-12-02 15:59:26 27 4
gpt4 key购买 nike

我在 hibernate 时遇到问题,并且不知道到底发生了什么,我正在处理这个项目,我使用以下设置连接到 Oracle 10g 数据库:

Host Name: localhost
port:1521
SID:orcl
user:anfxi
password:password

现在我在家里尝试远程使用同一个数据库,我通过 VPN 连接,数据库 IP 现在是 10.73.98.230 ,我导入了我的 WAR 并更改了我的设置hibernate.cfg.xml 来自:

<property name="hibernate.connection.driver_class">oracle.jdbc.OracleDriver</property>
<property name="hibernate.connection.url">jdbc:oracle:thin://localhost:1521:orcl</property>
<property name="hibernate.connection.username">anfexi</property>
<property name="connection.password">password</property>
<property name="connection.pool_size">1</property>
<property name="hibernate.dialect">org.hibernate.dialect.OracleDialect</property>
<property name="show_sql">true</property>
<property name="hbm2ddl.auto">validate</property>
<property name="current_session_context_class">thread</property>

至:

<property name="hibernate.connection.driver_class">oracle.jdbc.OracleDriver</property>
<property name="hibernate.connection.url">jdbc:oracle:thin://10.73.98.230:1521:orcl</property>
<property name="hibernate.connection.username">anfexi</property>
<property name="connection.password">password</property>
<property name="connection.pool_size">1</property>
<property name="hibernate.dialect">org.hibernate.dialect.OracleDialect</property>
<property name="show_sql">true</property>
<property name="hbm2ddl.auto">validate</property>
<property name="current_session_context_class">thread</property>

但我不断收到此错误:

ERROR [main] (SchemaValidator.java:135) - could not get database metadata
java.sql.SQLException: Listener refused the connection with the following error:
ORA-12505, TNS:listener does not currently know of SID given in connect descriptor
The Connection descriptor used by the client was:
localhost:1521:orcl

所以它似乎仍在使用 localhost 作为数据库地址,我清理了我的项目并重建,仍然没有运气,还有其他我可能会丢失的东西吗? hibernate 配置是否缓存在我必须删除的某些文件中?

编辑对于它可能提供的服务,我可以使用 SQL Developer 进行连接,问题只是 hibernate 仍然使用旧的 localhost:1521:orcl 连接描述符。

感谢您的帮助!

最佳答案

验证您在 Eclipse 中更改的 xml 文件是否确实已部署到服务器。我偶尔会遇到问题,Eclipse 不知道它需要为我的 web 应用程序重新部署某些文件。

如果您使用 Tomcat 并使用工作区元数据(默认)进行部署,您可以通过查看以下文件系统来检查实际部署的 WAR 文件的样子:

WORKSPACE/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/APPNAME/.../path/to/hibernate.cfg.xml

如果您发现配置文件没有更新,我建议您在 Eclipse 中取消部署您的应用程序,删除上述路径中的整个 APPNAME 目录,然后重新部署干净。

如果这些都不起作用,请在项目范围内搜索“localhost”,看看是否有任何地方可能有任何硬编码的连接字符串。

关于eclipse - 在 Hibernate 中更改数据库时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5382007/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com