質問編集履歴

4

PATH導通について追記

2020/11/02 04:19

投稿

Hogeike
Hogeike

スコア293

test CHANGED
File without changes
test CHANGED
@@ -96,6 +96,10 @@
96
96
 
97
97
 
98
98
 
99
+ PATHとLD_LIBRARY_PATHに、bin64とlib64を通してあります。
100
+
101
+
102
+
99
103
  ### 補足情報(FW/ツールのバージョンなど)
100
104
 
101
105
 
@@ -126,4 +130,4 @@
126
130
 
127
131
  Linuxにインストールされたsajdbcにはパスが通っているはずなので、本来であればそこを直接参照したいが、今回はWindowsで開発したものをLinuxに持ってきているので、classpathで直接指定するのが難しい。
128
132
 
129
- そこで、外部jarを外出ししてjarエクスポートして、作成されたライブラリディレクトリにパスを通してみたが、エラーは変わらなかった。
133
+ そこで、外部jarを外出ししてjarエクスポートして、作成されたライブラリディレクトリにPATHとLD_LIBRARY_PATHを通してみたが、エラーは変わらなかった。

3

追記1

2020/11/02 04:19

投稿

Hogeike
Hogeike

スコア293

test CHANGED
File without changes
test CHANGED
@@ -103,3 +103,27 @@
103
103
  JRE: 11.0.8
104
104
 
105
105
  SQL Anywhere: 17
106
+
107
+
108
+
109
+
110
+
111
+ ---
112
+
113
+
114
+
115
+ # 追記1
116
+
117
+
118
+
119
+ こちらの記事を参考に
120
+
121
+ - [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)
122
+
123
+
124
+
125
+ `sajdbc4.jar`にパスが通っていないのではと推測
126
+
127
+ Linuxにインストールされたsajdbcにはパスが通っているはずなので、本来であればそこを直接参照したいが、今回はWindowsで開発したものをLinuxに持ってきているので、classpathで直接指定するのが難しい。
128
+
129
+ そこで、外部jarを外出ししてjarエクスポートして、作成されたライブラリディレクトリにパスを通してみたが、エラーは変わらなかった。

2

接続文字列を完全にマスクしてしまっていたのを修正

2020/11/02 02:43

投稿

Hogeike
Hogeike

スコア293

test CHANGED
File without changes
test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- JavaからJDBCでSQL AnywhereのDBにクエリ投げるプログラムを作成しました。
5
+ JavaからJDBCでSQL AnywhereのDBにクエリ投げるプログラムを作成しました。
6
6
 
7
7
  Windowsで開発し、JarにエクスポートしたものLinuxサーバで稼働させようとしています。
8
8
 
@@ -44,7 +44,7 @@
44
44
 
45
45
  public static void main(String[] args) {
46
46
 
47
- String url = "****";
47
+ String url = "jdbc:sqlanywhere:Server=*********;DBN=*********;host=**.**.**.**:****;";
48
48
 
49
49
  String uid = "****";
50
50
 

1

修正

2020/10/30 06:25

投稿

Hogeike
Hogeike

スコア293

test CHANGED
@@ -1 +1 @@
1
- エラー:sajdbc.jar のビルが共有オブジェクトのビドと一致しません
1
+ Linuxでsajdbc4を使用したSQL Anywhere接続時のエラー:無効な ODBC ハンドルです
test CHANGED
@@ -18,7 +18,7 @@
18
18
 
19
19
  ```
20
20
 
21
- java.sql.SQLException: sajdbc.jar のビルが共有オブジェクトのビドと一致しません
21
+ java.sql.SQLException: 無効な ODBC ハンドルです
22
22
 
23
23
  at sap.jdbc4.sqlanywhere.IDriver.makeODBCConnection(Native Method)
24
24
 
@@ -88,25 +88,11 @@
88
88
 
89
89
  ### 試したこと
90
90
 
91
- とりあえず調べ結果、公式にこような記事あり
91
+ Windows側の`sajdbc4.jar`を使用しら別エラー出てしっていので、
92
92
 
93
- [EBF 適用時、JDBC アプリケーションが実行されていないことを確認](http://dcx.sybase.com/1201/ja/sachanges/upgrading-troubleshooting-jdbc.html)
93
+ LinuxSQL Anywhereインストールファイルにある`sajdbc4.jar`を使用したらこのエラーが出ました。
94
94
 
95
-
96
-
97
- でもこれは、EBFを使うと一部ファイルがアップデートされないせいで云々というはなしだったので、EBFが何かはよくわかっていないのですが、たぶん違う問題だと認識しています。
98
-
99
-
100
-
101
- 単純Linux側にパスの設定どが足りないんだと思ったのですが、bin64、lib64にそれぞれPATHは通っています。
95
+ このエラーついては探してもかなか出ないのでっています。
102
-
103
- ```
104
-
105
- export PATH=/opt/sqlanywhere17/lib64:/opt/sqlanywhere17/bin64
106
-
107
- export LD_LIBRARY_PATH=/opt/sqlanywhere17/bin64:/opt/sqlanywhere17/lib64
108
-
109
- ```
110
96
 
111
97
 
112
98