LoginSignup
17
10

SQL Developerで様々なDBに接続する方法

Last updated at Posted at 2021-03-22

本ブログは、オラクル・クラウドの個人シリーズ・ブログの1つです。

初めに
SQL Developerは、オラクルが提供する便利なGUIツールです。オラクルDBだけではなく、ほかの多種なDBにも対応します。今回は、様々なDBに接続する方法を紹介します。

DBに対する全ての操作は、接続から始まります。この記事は、DBに接続できなくて困っている方々の参考になれば大変ありがたいと思います。

※、2022年4~5月、OCI Bation経由で「Oracle DB Cloud Service」、「Autonous DB」及び「MySQL DB Servcie」への接続方法を追記しました。今後も他のターゲットDBを引き続き紹介していきます。左上の"LIKE"(LGTM)をいただければとても励みになります。

SQL Developerの基本情報
最新バージョン:20.4.1 (2021年3月時点)
対応OS:Windows/Linux/MacOS/Other
料金:無償

様々なDBに接続する

No. 接続先DB    JDBC ドライバー Port コメント
1 Oracle DB 追加不要 1521 11gR2,12c,18c,19c,20c
(On-P/Cloud)
2 Oracle DB
(Bastion経由)
同上 同上 プライベート・サブネットに格納されるDBかBase DBサービスへ接続
3 ADB 追加不要 1522 パブリックADBに接続する場合は、ウォレットが必要
4 ADB
(Bastion経由)
同上 同上 プライベート・サブネットに格納されるADBへ接続
5 MySQL mysql-connector-java-8.0.23.jar 3306 ドライバーは、MariaDBにも適用
6 MySQL DB Servcie 同上 3306 OCI Bastion経由
7 MariaDB 同上 3306
8 PostgreSQL postgresql-42.2.19.jar 5432
9 DB2 db2jcc.jar, db2jcc4.jar 5000
10 SQL Server jtds-1.3.1.jar 1433 ドライバーは、Sybaseにも適用

※JDBCドライバーは、2021年3月時点の情報です。
※以前、NoSQLへの接続を対応していましたが、この記事を書いた時点(2021年3月)で、もう対応できなくなりますのでご了承ください。

SQL Developer の準備

Windows OS の場合
ダウンロードURL:https://www.oracle.com/tools/downloads/sqldev-downloads.html
この例では、JDK8付きのWindows版を使用します。(※オラクルのアカウントは必要で、ご用意ください。)

Zipファイルを解凍して後、sqldeveloper.exeを実行すれば起動できます。(インストール不要)
image.png

前のバージョンの設定内容をIMPORTしたい場合、Yesにして、新規インストールの場合、Noにして進んでください。

Linux OS の場合
Windows だけではなく、LinuxでもSQL Developerが問題なく使えます。
次の記事は、Oracle Linux(OCI Compute VM)での利用方法のご紹介です。ご参考ください。
Oracle LinuxでSQL Developerを利用する方法

GUIの設定変更
SQL DeveloperのGUIは、言語設定とフォントサイズの変更ができます。このブログの最後に、変更方法のご紹介があります。ご参考ください。
A-1. GUI言語設定の変更 (日本語に変更する例)
A-2. GUIフォントサイズの変更

1. Oracle DBへの接続

接続先のOracle DB(またBase DBサービス)が、パブリックかプライベート・サブネットに格納されます。クライアン側から接続に行く時、それぞれパブリック・アクセス経由か、VPN/Fastconnect経由で、直接に接続できます。この場合、SQL Developerの設定はとても簡単です。この例は、OCIのパブリック・サブネットにあるBase DBインスタンスを使用します。

  • 接続を新規作成
    image.png
    Database Type: デフォルト(Oracle)を指定
    Role: デフォルトのままでよいが、必要に応じて指定できます。
    Username,Password: ユーザ名とパスワードを入力。
    Hostname: ホスト名、或いはIPアドレスを入力(この例は、Base DBインスタンスのパブリックIPを入力)。
    Port: 1521 (デフォルト)
    SID、Service Name: 片方を入力(PDBへ接続したい場合、PDBのサービス名を入力)。
    Save Password: チェックしたら、次回接続の時、パスワードの入力が省略できます。
    テスト」ボタンを押し、接続をテストします。接続成功を確認したら、「接続」ボタンを押し、接続を立てます。
    image.png
    サービス名の確認方法は、以下の記事をご参考ください。
    Oracle Base DBのサービス名を取得する

  • 接続後
    DBの操作とSQLコマンドの実施ができます。
    image.png

接続の問題
DBへの接続が失敗した場合、以下のような原因は一般的です。ご参考ください。

  • 無効なユーザーまたはパスワード。
  • ユーザー・ロールの指定は間違った。
  • DBインスタンスは、まだ起動していない。
  • 物理サーバかIaaS DBの場合、接続先サーバのファイアウォールには、リスナー・ポート(1521)が公開されていない。
  • クラウドDBの場合、リスナー・ポート(TCP 1521)は、Ingressルールに追加されていない。(セキュリティ・リストまたはNSGを確認してください。)

2. Oracle DB (Bastion経由)への接続


接続先のOracle DBがクラウド上にある場合、プライベート・サブネットに格納されるのは一般的です。この場合、On-Pからパブリック・アクセス経由で、直接にアクセスできないです。VPNを設定しない場合、踏み台サーバを利用し接続できますが、OCI Bastion サービスを利用すれば、踏み台サーバを立てず、On-Pのクライアントから、プライベート・サブネット内のOracle DBに接続できます。

設定方法の詳細は、以下をご参照ください。

3. Autonomous DBへの接続

以下の2パターンは、いずれも直結の接続方法です(踏み台サーバ不要)。

No. 説明 コメント
1 パブリック・アクセス経由で、ADBに接続 ADBがパブリック・サブネットに所属しない
2 VPN/Fastconnect経由で、プライベート・サブネット内のADBに接続 クライアント側からプライベート・サブネットへの経路を確保しておく

この検証は、パターン1を例にします。

  • 接続を新規作成
    Database Type: デフォルトのOracleを指定
    Connection Type: Cloud Walletを指定
    Configuration File: Walletファイルを指定。事前にOCIコンソールよりダウンロードしてください(やり方は省略)。ダウンロード後、解凍不要でZIPファイルのままでOKです。
    Service: 必要に応じて、XXXX_high, XXXX_medium, XXXX_lowの選択肢から指定
    image.png

  • 接続後
    image.png

4. Autonomous DB (Bastion経由)への接続

image.png

プライベート・サブネットにADBを作成した場合、プライベート・エンドポイントを介してADBにアクセスします。VPNを設定しない場合、OCI Bastion サービスを利用すれば、踏み台サーバを立てず、プライベート・サブネット内のADBに接続できます。設定方法の詳細は、以下をご参照ください。

5. MySQLへの接続

この例は、パブリック・アクセス経由で、OCI ComputeインスタンスにあるMySQL DBに接続します。

  • JDBCドライバーのダウンロード
    URL: https://dev.mysql.com/downloads/connector/j/
    ダウンロードには、オラクルのアカウントは必要です。
    必要に応じて、プラットフォームの選択ができます。

ダウンロード後、ZIPファイルを解凍します。

2022/05/04 追記:現時点、上記URLから直接にドライバーをダウンロードできません。インストーラ・ファイルを実施する必要があります。詳細、ここをご参照ください。

  • JDBCドライバーの追加
    MENU -> Tools -> Preferences -> Database -> Third Party JDBC Drivers -> Add Entry

  • クライアント側のIPを追加

SQL DeveloperのクライアントのIPアドレスを許可しないと接続できませんので、ご注意ください。
現象:Failure - message from server: Host <IP Address> is not allowed to connect to this MySQL server
対応方法:MySQLサーバ側に、以下のコマンドを実施します。(rootユーザの例)

mysql> create user 'root'@'<IP Address>' identified by '<Password>';
mysql> grant all privileges on *.* to 'root'@'<IP Address>';
  • 設定後、以下のコマンドで確認します。

  • 接続を新規作成
    Database Type: MySQLを指定

  • 接続後

6. MySQL Database Service (Bastion経由)への接続


MySQL Database Serviceに接続したい時、OCI Bastion サービスを利用すれば、踏み台サーバを立てず、On-Pのクライアントから、サブネット(Public/Private)にあるMySQL DBに接続できます。設定方法の詳細は、以下をご参照ください。

7. MariaDBへの接続

MySQLのJDBCドライバーは利用可能です。

  • クライアント側のIPを追加

SQL DeveloperのクライアントのIPアドレスを許可しないと接続できませんので、ご注意ください。
現象:Failure: Access denied for user '<User>'@'<IP Address>'
対応方法:MariaDBサーバ側に、以下のコマンドを実施します。(rootユーザの例)

MariaDB [(none)]> create user 'root'@'<IP Address>' identified by '<Password>';
MariaDB [(none)]> grant all privileges on *.* to 'root'@'<IP Address>';
MariaDB [(none)]> select host,user from mysql.user;
  • 接続を新規作成
    Database Type: MySQLを指定

  • 接続後

8. PostgreSQLへの接続

  • JDBCドライバーのダウンロード
    URL:https://jdbc.postgresql.org/download.html
    image.png

  • JDBCドライバーの追加
    MENU -> Tools -> Preferences -> Database -> Third Party JDBC Drivers -> Add Entry

  • クライアント側のIPを追加

SQL DeveloperのクライアントのIPアドレスを許可しないと接続できませんので、ご注意ください。
現象:Failure -Test failed: FATAL: no pg_hba.conf entry for host "<IP Address>", user "<Username>", database "<DB Name>"
対応方法:下記ファイルを開き、エントリーを追加します。
     C:\Program Files\PostgreSQL\13\data\pg_hba.conf


  • 接続を新規作成
    Database Type: PostgreSQLを指定

  • 接続後

9. DB2への接続

  • JDBCドライバーのダウンロード
    URL:https://www.ibm.com/support/pages/db2-jdbc-driver-versions-and-downloads
    ダウンロードの時、IBMidは必要で、事前にご用意ください。
    DB2のバージョンに応じて、適切なドライバーを選択してください。
    (※この例は、db2jcc4.jarを使います。)
    image.png
    ダウンロード後、ZIPファイルを解凍します。
    image.png

  • JDBCドライバーの追加
    MENU -> Tools -> Preferences -> Database -> Third Party JDBC Drivers -> Add Entry

  • 接続を新規作成
    Database Type: DB2を指定

  • 接続後

10. SQL Serverへの接続

付録

A-1. GUI言語設定の変更

デフォルトでは、SQLDeveloperの表示言語はOS言語と同じです。必要に応じて変更できます。
例えば、UIを日本語に切り替えたい場合、以下の方法で言語設定を変更できます。

編集対象ファイル:C:\sqldeveloper\ide\bin\ide.conf
編集方法:ファイルの最後に次の行を追加してから、SQLDeveloperを再起動します。
AddVMOption -Duser.language=ja

A-2. GUIフォントサイズの変更

編集対象ファイル:
パス:C:\Users\<username>\AppData\Roaming\SQL Developer\system20.4.1.407.0006\o.sqldeveloper\
バージョンにより、system20.4.1.XXXXXの表示が異なります。
ファイル名:ide.properties

利用中の言語により、以下の行を編集します。編集後、SQL Developerを再起動してください。

改訂歴

2021年3月:初版作成
2021年7月:「言語設定の変更、フォントサイズの変更」を追加
2022年4月:「Oracle DB (Bastion経由)への接続」を追加
2022年4月:「Autonomous DB (Bastion経由)への接続」を追加
2022年5月:「MySQL Database Service (Bastion経由)への接続」を追加

関連記事

オラクル・クラウドの個人シリーズ・ブログ
Oracle LinuxでSQL Developerを利用する方法
OCI データベース・ツールでオラクルDBへの接続方法
Oracle Base DBのサービス名を取得する
OCI Cloud Shell上のSQL PlusからADBに接続する


公式ドキュメント
Oracle SQL Developer

17
10
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
17
10