0

我在我的 Mac 上安装了 Oracle TimesTen 客户端,在 RedHat 机器上安装了 Oracle TimesTen Server,我可以从命令行远程连接

connect "dsn=TT1122;UID=uid;PWD=pwd";

我成功连接回来了。

现在我想使用 JDBC 来尝试连接到同一个 ODBC。但我得到了这个错误。

java.sql.SQLException: Problems with loading native library/missing methods: no ttJdbcCS in java.library.path
    at com.timesten.jdbc.JdbcOdbcConnection.connect(JdbcOdbcConnection.java:1757)
    at com.timesten.jdbc.TimesTenDataSource.getConnection(TimesTenDataSource.java:148)
    at TimesTen.main(TimesTen.java:17)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:601)
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)

我正在使用 OSX Lion 和 IntelliJ。我已经运行 ttenv.sh 来设置环境。但我似乎无法让 JDBC 工作。我在整个互联网上搜索,并没有找到任何解决我问题的方法。

谢谢

4

2 回答 2

1

我没有在 Mac OSX 中使用 TimesTen,但您是否在 OSX 中设置了 ODBC/DSN?在windows中安装后,您必须将ODBC连接器与十次安装分开设置。我发现这是在 OSX 中设置 ODBC 的。

http://dev.mysql.com/doc/refman/5.0/en/connector-odbc-configuration-dsn-macosx.html

于 2013-10-11T19:34:08.037 回答
0

TimesTen 的 Mac OS X 客户端是一个 32 位库。您不能从 64 位 JVM 调用它。我相信 OS X 的唯一 32 位 JVM 是 java 1.6。

使用 32 位 1.6(我认为您必须在 jvm 上使用 -d32 标志),我能够连接到在 linux 服务器上运行的 TimesTen。

注意:从当前 TimesTen 版本 11.2.2.8.9 开始,Oracle 似乎添加了一个 64 位 MacOSX 客户端,所以上面的场景现在应该可以正常工作了。

于 2014-08-19T16:39:03.270 回答