前に試したときは、SQLserverが動いているサーバにJava7/8を入れていました。
TLS1.1が使えるSQLserverの入ったサーバに、TLS1.1を使えなくした別のサーバのJava7/8から接続できるのだろうか?と疑問になり再度試しました。
結果
TLS1.1が使えるSQLserverの入ったサーバに対して
別のサーバのJava7:接続可能
別のサーバのJava8:接続可能
TLS1.1が使えないSQLserverの入ったサーバに対して
別のサーバのJava7:接続不可
別のサーバのJava8:接続可能
でした。
JavaはWindowsのOS部分のTLS設定に影響されないのか。。。
===========忘れるだろうから試したコードを貼っておこう===========
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class Test1 {
public static void main(String[] args) {
final String URL = "jdbc:sqlserver://SQLサーバのIP:1433;"
+ "Database=master;integratedSecurity=false;"
+ "user=sa;password=P@ssw0rd";
// final String SQL = "select @@version as version";
final String SQL = "SELECT DISTINCT (encrypt_option) FROM sys.dm_exec_connections;";
try (Connection conn = DriverManager.getConnection(URL);
PreparedStatement ps = conn.prepareStatement(SQL)){
try(ResultSet rs = ps.executeQuery()){
while (rs.next()) {
System.out.println(
rs.getString("encrypt_option"));
}
}
} catch (SQLException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
} finally {
System.out.println("処理が完了しました");
}
}
}
.Net3.5が要るらしい。 orz 一回目のインストールの際に「.Net3.5が必要」ってダイアログが山ほど出てきた。 .Net3.5が必要な場合のエラーダイアログはどうして「ダウンロードしてインストールせよ」なんだろう? 参考にした http://otndnld.oracle.co.jp/easy/oracle11gr1/windows/pdf/SelfStudy_01_win.pdf だと、LISTNERの追加設定(?)が必要そうに書いてあるけど、やってみたら「すでに作成済み」ってなる。 それを信じて進めてみたらどうにもうまくいかない。。。 OracleDBをGUIで操作しよう、っていうのが間違いのようか気がする (逆にSQLserverをCLIでやるのは狂気の沙汰だと思う)。 一旦、アンインストールすることにして、スタートメニューにある「Universal Installer」 を実行してアンインストールしようとしたら「batファイルを実行せよ」というダイアログが。 ググりかたが悪かったのか、 「アンインストールはUniversal Installerからしかないぜ。その他の方法はどーなっても知らないぜHAHAHA」(意訳) と書いてるOracleさんしか見つからない。 どっちを信じたらとも思ったが、目の前のほうが正しいだろうという考えに従いそのバッチ を実行しました。(Universal Installerさんは何度やっても消そうともしてくれないし) バッチ実行後、しばらく放置したら終わったらしい。 Oracleさんがインストールされていたっぽいディレクトリもだいたい消えていた。 消えたよね?ってことで一度再起動してから、Oracle11gのインストールを再び実行。 エラーは出ずに無事終了。 (.Net3.5がインストール済みだったからかな??) sqlplus / as sysdba は問題ない。でも、別PC(Linux機)からの接続はNG。 lsnrctl status コマンドの実行結果から、やはりlocalhost以外からの接続はLISTENしてない模様。 listener.oraをちょっと修正して、LISTNERサービスを再起動。 lsnrctl status を再度実行すると、IPアドレスの分も表示されたので、外部からも接続できるだろう...
コメント
コメントを投稿