okinawa

IT勉強メモ

EclipseでSQLServerと接続

まずは公式を参考にする

docs.microsoft.com

公式を参考にJDBCドライバーをダウンロードして WEB-INF < lib ディレクトリに入れる。

そして、クラスパスを通す。

クラスパス

コードも公式を参考に。

docs.microsoft.com

public class TestDao {
    public static void main(String[] args) {
        String connectionUrl =
                "jdbc:sqlserver://localhost\\SQLEXPRESS:1433;"
                        + "database=DB名;"
                        + "username=ユーザー名;"
                        + "password=パスワード;"
                        + "encrypt=true;"
                        + "trustServerCertificate=true;";

        try (Connection connection = DriverManager.getConnection(connectionUrl);) {
            // Code here.
        }
        // Handle any errors that may have occurred.
        catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

SQLServerのユーザー追加

Windows認証はダメだったので下記記事を参考にユーザー追加。

ただ、追加するだけじゃログインできなくてハマった。

DBにすんなり接続できたこと1度もない。

memo.itsysgroup.com

SQLServerサーバー認証を設定 & 再起動

ユーザー権限変更するもまだログインできない。

下記記事を参考にSQLServer自体にSQLServer認証を設定 & 再起動。

qiita.com

がっ!だめ!

ポートが開いてないエラー

ホスト localhost、名前付きインスタンス SQLEXPRESS への接続が失敗しました。 エラー: "java.net.SocketTimeoutException: Receive timed out"。サーバーとインスタンスの名前を調べ、ポート 1434 への UDP トラフィックファイアウォールにブロックされていないことを確認してください。 SQL Server 2005 以降では、SQL Server Browser サービスがホスト上で実行されていることを確認してください。

sqlserver ポート」で調べると下記の記事が出てきた。

sql55.com

TCP/IPを有効&ポートの設定

上記の記事を参考にTCP/IPを有効にしてポートを1433に設定する。

さらにSQLServerを再起動する。

やっと接続できた!!!