質問編集履歴
4
PATH導通について追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -47,6 +47,8 @@
|
|
47
47
|
LinuxのSQL Anywhereインストールファイルにある`sajdbc4.jar`を使用したらこのエラーが出ました。
|
48
48
|
このエラーについては探してもなかなか出てこないので困っています。
|
49
49
|
|
50
|
+
PATHとLD_LIBRARY_PATHに、bin64とlib64を通してあります。
|
51
|
+
|
50
52
|
### 補足情報(FW/ツールのバージョンなど)
|
51
53
|
|
52
54
|
JRE: 11.0.8
|
@@ -62,4 +64,4 @@
|
|
62
64
|
|
63
65
|
`sajdbc4.jar`にパスが通っていないのではと推測
|
64
66
|
Linuxにインストールされたsajdbcにはパスが通っているはずなので、本来であればそこを直接参照したいが、今回はWindowsで開発したものをLinuxに持ってきているので、classpathで直接指定するのが難しい。
|
65
|
-
そこで、外部jarを外出ししてjarエクスポートして、作成されたライブラリディレクトリに
|
67
|
+
そこで、外部jarを外出ししてjarエクスポートして、作成されたライブラリディレクトリにPATHとLD_LIBRARY_PATHを通してみたが、エラーは変わらなかった。
|
3
追記1
title
CHANGED
File without changes
|
body
CHANGED
@@ -50,4 +50,16 @@
|
|
50
50
|
### 補足情報(FW/ツールのバージョンなど)
|
51
51
|
|
52
52
|
JRE: 11.0.8
|
53
|
-
SQL Anywhere: 17
|
53
|
+
SQL Anywhere: 17
|
54
|
+
|
55
|
+
|
56
|
+
---
|
57
|
+
|
58
|
+
# 追記1
|
59
|
+
|
60
|
+
こちらの記事を参考に
|
61
|
+
- [Having trouble connection to SQL Anywhere 17 with sajdbc4.jar driver - SQLA Forum](https://sqlanywhere-forum.sap.com/questions/27890/having-trouble-connection-to-sql-anywhere-17-with-sajdbc4jar-driver)
|
62
|
+
|
63
|
+
`sajdbc4.jar`にパスが通っていないのではと推測
|
64
|
+
Linuxにインストールされたsajdbcにはパスが通っているはずなので、本来であればそこを直接参照したいが、今回はWindowsで開発したものをLinuxに持ってきているので、classpathで直接指定するのが難しい。
|
65
|
+
そこで、外部jarを外出ししてjarエクスポートして、作成されたライブラリディレクトリにパスを通してみたが、エラーは変わらなかった。
|
2
接続文字列を完全にマスクしてしまっていたのを修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
### 前提・実現したいこと
|
2
2
|
|
3
|
-
JavaからJDBCでSQL AnywhereのDBにクエリ
|
3
|
+
JavaからJDBCでSQL AnywhereのDBにクエリを投げるプログラムを作成しました。
|
4
4
|
Windowsで開発し、JarにエクスポートしたものLinuxサーバで稼働させようとしています。
|
5
5
|
Windowsでは問題なく接続できましたが、Linuxでjarを実行したところ、エラーが出てしまいました。
|
6
6
|
エラーの解消方法を教えてください。
|
@@ -21,7 +21,7 @@
|
|
21
21
|
```java
|
22
22
|
public class DatabaseAccess {
|
23
23
|
public static void main(String[] args) {
|
24
|
-
String url = "****";
|
24
|
+
String url = "jdbc:sqlanywhere:Server=*********;DBN=*********;host=**.**.**.**:****;";
|
25
25
|
String uid = "****";
|
26
26
|
String pwd = "****";
|
27
27
|
Connection connection = null;
|
1
修正
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
エラー:
|
1
|
+
Linuxでsajdbc4を使用したSQL Anywhere接続時のエラー:無効な ODBC ハンドルです。
|
body
CHANGED
@@ -8,7 +8,7 @@
|
|
8
8
|
### 発生している問題・エラーメッセージ
|
9
9
|
|
10
10
|
```
|
11
|
-
java.sql.SQLException:
|
11
|
+
java.sql.SQLException: 無効な ODBC ハンドルです。
|
12
12
|
at sap.jdbc4.sqlanywhere.IDriver.makeODBCConnection(Native Method)
|
13
13
|
at sap.jdbc4.sqlanywhere.IDriver.connect(IDriver.java:775)
|
14
14
|
at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:677)
|
@@ -43,17 +43,10 @@
|
|
43
43
|
```
|
44
44
|
|
45
45
|
### 試したこと
|
46
|
+
Windows側の`sajdbc4.jar`を使用したら別のエラーが出てしまっていたので、
|
47
|
+
LinuxのSQL Anywhereインストールファイルにある`sajdbc4.jar`を使用したらこのエラーが出ました。
|
46
|
-
|
48
|
+
このエラーについては探してもなかなか出てこないので困っています。
|
47
|
-
[EBF の適用時、JDBC アプリケーションが実行されていないことを確認](http://dcx.sybase.com/1201/ja/sachanges/upgrading-troubleshooting-jdbc.html)
|
48
49
|
|
49
|
-
でもこれは、EBFを使うと一部ファイルがアップデートされないせいで云々というはなしだったので、EBFが何かはよくわかっていないのですが、たぶん違う問題だと認識しています。
|
50
|
-
|
51
|
-
単純にLinux側にパスの設定などが足りていないんだと思ったのですが、bin64、lib64にそれぞれPATHは通っています。
|
52
|
-
```
|
53
|
-
export PATH=/opt/sqlanywhere17/lib64:/opt/sqlanywhere17/bin64
|
54
|
-
export LD_LIBRARY_PATH=/opt/sqlanywhere17/bin64:/opt/sqlanywhere17/lib64
|
55
|
-
```
|
56
|
-
|
57
50
|
### 補足情報(FW/ツールのバージョンなど)
|
58
51
|
|
59
52
|
JRE: 11.0.8
|