使用 JDBC 连接 OrientDB 的错误: Could not initialize class com.orientechnologies.orient.core.db.ODatabaseRecordThreadLocal

红薯 发布于 2017/09/08 11:51
阅读 582
收藏 0

一个简简单单 OrientDB 的 Java 客户端程序,无法连接到数据库,代码很简单:

/**
 * 使用 JDBC 访问 OrientDB
 * @author winterlau
 */
public class JDBCTester {

	public static void main(String[] args) throws ClassNotFoundException, SQLException {
		Class.forName("com.orientechnologies.orient.jdbc.OrientJdbcDriver");
		Connection conn = DriverManager.getConnection("jdbc:orient:remote:localhost/beerdb","root","xxxx");
		DatabaseMetaData dmd = conn.getMetaData();
		System.out.println(dmd.getDatabaseProductName() + dmd.getDatabaseProductVersion());
		conn.close();
	}

}

使用的是 OrientDB 2.2.26 ,Java 1.8.0_77 就会报上述错误。

如果换成 Java 7 的话,错误是:

com.orientechnologies.orient.core.exception.OSecurityException: Cannot create a key with 'PBKDF2WithHmacSHA1' algorithm

啥情况啊这是?

加载中
0
如比如比
如比如比

没有问题地显示了:OrientDB2.2.26

如比如比
如比如比
回复 @红薯 : 换了下jdk1.8.0_51也可以的。
如比如比
如比如比
回复 @红薯 : jar文件 concurrentlinkedhashmap-lru-1.4.2.jar orientdb-client-2.2.26.jar orientdb-core-2.2.26.jar orientdb-jdbc-2.2.26.jar orientdb-server-2.2.26.jar
如比如比
如比如比
回复 @红薯 : 1.8.0_121
红薯
红薯
你是什么环境啊
红薯
红薯
我的错误肯定是跟jdk环境有关,java这点特别不好
0
红薯
红薯

@壶漏子 你看变态不,我把代码增加了一行 

ODatabaseRecordThreadLocal a = ODatabaseRecordThreadLocal.INSTANCE;

就可以了,居然要手工初始化这个线程本地化。

红薯
红薯
所以搞不懂为何啊
如比如比
如比如比
这不太正常吧。
0
苦苦奋斗的渣渣

想问问红薯,目前开源中国采用OrientDB主要应用什么业务场景,是否上线,性能如何

红薯
红薯
目前没用了
返回顶部
顶部