1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Linux仮想環境から、JDBCドライバを使用して、windows上のSQL Serverへ接続した過程と結果

Last updated at Posted at 2020-05-30

今回はwindows上にLinux仮想環境を構築し、JDBCドライバをインストールしたのち、JDBCクライアントを使用しwindows上のSQL Serverへ接続した結果を表示します!

#目次
1.VMwareをダウンロード(windows環境)
2.SQLServerのダウンロード&インストール&簡単なデータベースとテーブル作成(windows環境)
3.SQLServerのリモート接続設定(windows環境)
4.CentOSのダウンロード&インストール(仮想環境)
5.JDKのインストール(仮想環境)
6.PROGRESS JDBCドライバの入手(仮想環境)
7.DBeaverEEのダウンロード&ドライバ設定(仮想環境)
8.DBeaverEEのJDBCURLの接続設定(仮想環境)
9.SQL文の実行(仮想環境)

#実行環境
Windows10 home 64bit
OSビルド: 18362.778
CentOS8(仮想環境)
JDK11(仮想環境)

##※注意点
windows上でのローカル環境とLinux仮想環境では見かけのハードは同じですが、全然違う実行環境なので、すでにローカル環境でJDKなどのソフトウェアをインストールされている方も改めてLinux環境上でダウンロード&インストールしなおす必要があります。

#手順
###1.VMwareをダウンロード(windows環境)
まずhttps://my.vmware.com/en/web/vmware/free#desktop_end_user_computing/vmware_workstation_player/14_0 にアクセスし、VMware Workstation 14.1.8 Player for Windows 64-bit Operating Systems.の方をダウンロードし(図1)、拡張子exeを実行してインストールを済ませておいて下さい。

図1
コメント 2020-05-30 142135.jpg

###2.SQLServerのダウンロード&インストール&簡単なデータベースとテーブル作成(windows環境)
基本的には、https://www.tairax.com/entry/Microsoft-SQL-Server/Install にアクセスし、そこのやり方に従ってください。この手順が終われば、SQLServerのダウンロード&インストールまでが完了します。そして、データベースの作成方法はhttps://www.tairax.com/entry/Microsoft-SQL-Server/How-to-make-database にアクセスし、テーブルの作成方法はhttps://www.tairax.com/entry/Microsoft-SQL-Server/How-to-make-table を参考にしてみてください。

###3.SQLServerのSQL認証設定&リモート接続設定(windows環境)
現段階ではSQLServerへはwindows認証でしかログインできません。ところがリモート接続するにはSQL認証を設定する必要があります。まずはSQLServerへwindows認証のままログインします(図1.1)

図1.1
コメント 2020-05-30 164614.jpg

そして、SQLServer上での以降の設定はhttps://creativeweb.jp/fc/remote/https://creativeweb.jp/tips/firewall-sql-server/ を参考に設定します。ちなみに、前者の参照先のTCP/IPの有効化という項目で、固定ポートか動的ポートかを選べますが、固定ポートを選択してください。そして後者の参照先のファイアウォールの設定でリモートIPアドレスを設定しますが、それは仮想環境上の設定(図3に載っています)/ネットワークの有線の右にある歯車みたいなマークをクリックし、その中のIPv4アドレスとデフォルトのアドレスを二つとも入力しておきます(図1.2)。これでSQLserver側のリモート設定は完了しました。

図1.2
コメント 2020-05-30 171607.jpg

###4.CentOSのダウンロード&インストール(仮想環境)
基本的には、https://qiita.com/anWest/items/c4bfd41f1dfbe90a0d5a の手順通りして頂いて、いくつか注意点だけ指摘しておきます。
まず、CentOSのISOを入手するURLですが、URLの中に「Packages」が入っているものを選択してください(図2)。なぜならISOファイルはダウンロードに時間がかかりますが、その他のISOファイルは破損している可能性が高いからです。

図2
https___qiita-image-store.s3.ap-northeast-1.amazonaws.com_0_468508_40f554a0-415e-d42a-1ff7-ef4c073c3a5f.png

次に、CentOSを作成している間にいくつかrootパスワードとユーザーパスワードの設定をします(rootは管理者権限でJavaなど新たなソフトウェアをインストールする際に必要な権限で、実際に作業するときにはユーザー権限でログインします(CentOSを起動すると毎回ユーザーでログインしますが、自動ログインの設定は簡単にできるので「CentOS 自動ログイン」などでググってみましょう))。rootパスワードとユーザーパスワードは度々必要になるので、メモっておきましょう。

全ての設定が完了するとwindowsのようにGUIで操作ができるようになります(図3)(もしスリープモードになったらエンターキーを二回ぐらい押してください。再度ログイン画面が現れます)。

図3
コメント 2020-05-30 145625.jpg

###5.JDKのインストール(仮想環境)
のちほどダウンロードするJDBCドライバの使用にはJavaの実行環境が必要です。そこでJDKをインストールします。
まずコマンドラインを開きます(左上のアクティビティをクリックしたあとサイドバーの下から二番目の黒い四角をクリックします)(図4)。

図4
コメント 2020-05-30 151141.jpg

コマンドラインが出てきたら、「sudo yum install java-1.8.0-openjdk java-1.8.0-openjdk-devel」と入力します(sudoは管理者権限で実行するためのコードです)。そこでユーザーパスワードを入力します。するとインストールが始まるのですが、もし途中で止まったらエンターキーかyを押して進めてください。インストールが完了すると図5のようにコマンド入力の待機状態になります。

図5
コメント 2020-05-30 151735.jpg

最後に「java -version」と入力してきちんとインストールされているか確認しましょう。きちんとインストールできていれば図5の画面上部のようにjavaのバージョン情報が表示されます。

###6.PROGRESS JDBCドライバの入手(仮想環境)
CentOS上のブラウザを使用して、https://www.ashisuto.co.jp/datadirect/app_download/ にアクセスし、DataDirect Connect for ODBC UNIX/Linux(64Bit)をダウンロードします(Linuxファイルをダウンロードするときに共通ですが「ファイルを保存する」の方を選択してください(図6))。

図6
コメント 2020-05-30 155139.jpg

ドライバをダウンロードしたら、PROGRESS_DATADIRECT_JDBC_SQLSERVER_6.0.0.zipというファイルがホームかダウンロードというディレクトリにあると思います。それを右クリックして「ここで展開する」をクリックします。そして中身のファイルを新しいフォルダを作って移します。そして中身のファイルの中のPROGRESS_DATADIRECT_JDBC_INSTALL.jarをコマンドラインで実行します(コマンドラインを起動し、実行したいファイルがある階層へcdコマンドで移動し「java -jar PROGRESS_DATADIRECT_JDBC_INSTALL.jar -i console」と入力すればインストールされます(図7))
インストールが完了すると/home/okazakisoichiro/Progress/DataDirect/JDBC_60/libにsqlserver.jarが配置されているはずです。

図7
コメント 2020-05-30 160558.jpg

###7.DBeaverEEのダウンロード&ドライバ設定(仮想環境)
https://dbeaver.com/download/ にアクセスし、Linux RPM Package 64bit(Installer)をダウンロードします(図8)。

図8
コメント 2020-05-30 193827.jpg

そうすると、ホームかダウンロードディレクトリに先ほどダウンロードしたRPMパッケージがあるので、コマンドラインを起動してその階層までcdで移動します(図7を参考)をコマンドラインに「sudo rpm -ivh dbeaver-.rpm」と入力します(varsionにはダウンロードしたRPMパッケージのバージョンを入力)。そうするとDBeaverがインストールされます。コマンドラインに「dbeaver」と入力して、DBeaverが立ち上がればインストールできています(図9)。

図9(こんな感じの画面が立ち上がれば成功です(図9はJDBC接続後の表示なので、実際にはもっと簡素な表示になります。))
コメント 2020-05-30 195333.jpg

では、ドライバの設定をします。先ほど起動したDBeaberのメニューバーのデータベースを選択し、ドライバーマネジャーを起動します(詳細はhttps://qiita.com/zakiokasou/items/2e9297e268770351a300 の5.BigQueryコネクタをDbeaverに登録するに記載済み)。起動したら、ドライバ名、クラス名、ライブラリを埋めていきます。それぞれドライバ名には「JDBCドライバ」、クラス名には「com.ddtek.jdbc.sqlserver.SQLServerDriver」、そしてライブラリフォームの横にあるファイルを追加をクリックし、本記事6の手順で手に入れた、sqlserver.jarを指定します。そしてOKを押します(図10)。

図10
コメント 2020-05-30 200037.jpg

###8.DBeaverEEの接続設定(仮想環境)
次に、Dbeaverのメニューバーのデータベース>新しい接続をクリックします。そこに先ほど命名したJDBCドライバが存在するのでそれを選択して次へを押します。すると図11のような画面が現れます。

図11
image.png

次に、JDBC URLに以下のURLを入力します。
"jdbc:sqlserver://:;databaseName=;user=;password="
<>の中身を以下のように改変します。
server → SQL Serverにログインするときのサーバー名の¥に左側(図12)

port → 本記事手順3の参照先(https://creativeweb.jp/fc/remote/ )で設定した固定ポート番号(手順通りなら1433)

databaseName → 本記事手順2の参照先(https://www.tairax.com/entry/Microsoft-SQL-Server/How-to-make-database )で設定したdatabase名(手順通りならsample)

user,password → SQL ServerにSQL認証でログインするときのログイン名、パスワード(図12参考)

図12
コメント 2020-05-30 201213.jpg

JDBCURLに入力が完了したら図11左下のテスト接続を押します。うまくいけば接続済みというポップアップが出ます。右下のOKを押すと接続設定が完了します。

###9.SQL文の実行(仮想環境)
DBeaverの初期画面に左側にJDBCドライバという項目があるので、そちらを右クリックしてSQLエディタを選択します(図13)

(図13)
コメント 2020-05-30 204338.jpg

そうすると画面右側でSQLの操作ができるので、「SELECT *
FROM [sample].[dbo].[human]」([]の中は本記事手順2の参照先でのデータベースとテーブルの設定によりますが手順通りなら[sample]と[human]になるはずです)と入力して画面中央の実行ボタン(三角が90度傾いた形)を入力しましょう。画面右下下部にSQLserverからデータが取得できました(図14)(図のように表示するには事前にSQLServerでサンプルの値を入れておく必要があります)。

図14
image.png

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?