java – 没有合适的驱动程序.尝试使用Hibernate连接到Heroku上的
很抱歉打扰你,但我一直收到错误,我不明白为什么.
正如标题中所指定的,我正在尝试使用hibernate在运行heroku的postgresql数据库上进行连接.我的应用程序也在Heroku上运行. 它在本地模式下工作,我尝试了几个postgre驱动程序. 这是我的hibernate.cfg.xml: <!-- PostgreSQL --> <property name="connection.url">jdbc:postgresql://paafeblgkhhbkx:PhZEtHl2RHwbWDQJJOurmej89-@ec2-54-243-243-252.compute-1.amazonaws.com:5432/d1vsgjgnfr1koq</property> <property name="connection.username">paafeblgkhhbk</property> <property name="connection.password">My password</property> <property name="connection.driver_class">org.postgresql.Driver</property> <property name="dialect">org.hibernate.dialect.PostgreSQLDialect</property> <!-- Disable the second-level cache --> <property name="cache.provider_class">org.hibernate.cache.internal.NoCacheProvider</property> <!-- Echo all executed SQL to stdout --> <property name="show_sql">true</property> <!-- Drop and re-create the database schema on startup --> <property name="hbm2ddl.auto">create</property> 我收到会话时会覆盖网址,密码和用户名: Configuration configuration = new Configuration(); configuration.addAnnotatedClass(Client.class); // and other classes try { Class.forName("org.postgresql.Driver"); System.out.println(" === === DRIVER FOUND === === "); } catch (ClassNotFoundException e) { e.printStackTrace(); System.out.println(" === === DRIVER NOT FOUND === === "); } configuration.configure(); System.out.println("============================= EXPORT SCHEMA =========================="); new SchemaExport(configuration).create(true,true); serviceRegistry = new ServiceRegistryBuilder().applySettings(configuration.getProperties()).buildServiceRegistry(); sessionFactory = configuration.buildSessionFactory(serviceRegistry); 如您所见,找到了驱动程序.我很确定网址也可以(如果我尝试另一个网址,我会收到连接错误) 在这里我的依赖: <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-core</artifactId> <version>4.1.9.Final</version> </dependency> <dependency> <groupId>postgresql</groupId> <artifactId>postgresql</artifactId> <version>9.1-901.jdbc4</version> </dependency> 它们按照我的pom中的说明导出(我可以看到maven在部署我的应用程序时正在复制它): <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <version>2.4</version> <executions> <execution> <id>copy-dependencies</id> <phase>package</phase> <goals><goal>copy-dependencies</goal></goals> </execution> </executions> </plugin> 所以在这一点上我看不出我做错了什么:/ 这是我得到的错误日志:
谢谢你的时间 ! 解决方法
您的数据库网址存在一些可疑之处:
分解: > JDBC方案:postgresql – 好的 您显然试图将用户名和密码作为连接URL的一部分包含在内,但这不是它的完成方式.这些是使用单独的属性配置的,如果您要将它们包含在URI中,请按以下方式操作: JDBC:在PostgreSQL://本地主机/测试用户= fred的&安培;密码=秘密? 作为旁注,我已成功连接到您的数据库,因此除了正确的主机名外,我还可以证明您向公众公开的凭据的正确性.是时候更改密码了…… (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |