2013-10-11 38 views
0

我已經安裝了Oracle TimesTen的客戶端RedHat的機器,我可以通過命令行遠程連接如何從JDBC中MaxOSX

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

我得到了成功的連接回到我的Mac和Oracle TimesTen的服務器上調用Oracle TimesTen的。

現在我想使用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工作。我在互聯網上搜索,發現沒有什麼能解決我的問題。

感謝

回答

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客戶端,因此上述情況應該可以正常工作。