21
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

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

Last updated at Posted at 2021-03-22

本ブログは、オラクル・クラウドの個人ブログ一覧 【100件以上の記事を随時更新中】の1つです。

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

DBに対するすべての操作は、接続から始まります。この記事が、DBに接続できずに困っている方々の参考になれば幸いです。

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

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

様々なDBに接続する

No. 接続先DB    JDBC Driver TCP Port コメント
1 Oracle DB 追加不要 1521 11gR2,12c,18c,19c,21c
(On-P/Cloud)
2 Autonomous DB 追加不要 1522 パブリックADBに接続する場合は、ウォレットが必須
3 MySQL mysql-connector-java-8.0.23.jar 3306 ドライバーはMariaDBにも適用。
Amazon RDS for MySQLにも接続できる。
4 MariaDB 同上 3306
5 PostgreSQL postgresql-42.2.19.jar 5432
6 IBM DB2 db2jcc.jar, db2jcc4.jar 25000 or 50000 DB2 11.5.6から、デフォルトポート番号は25000に変更される。
7 MS SQL Server jtds-1.3.1.jar 1433 ドライバーはSybaseにも適用

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

SQL Developer の準備

ダウンロードURL:https://www.oracle.com/tools/downloads/sqldev-downloads.html

Windows OS の場合
この例では、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への接続

1-1. 直接に接続する

接続先の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を確認してください。)

1-2. OCI Bastionサービスで接続する


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

設定方法の詳細については、次の記事をご参照ください。
OCI Bastion経由でプライベート・サブネット内のOracle DBに接続する

2. Autonomous DBへの接続

2-1. 直接に接続する

以下の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

2-2. OCI Bastionサービスで接続する

image.png

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

OCI Bastion経由でプライベート・サブネット内のAutonomous DBに接続する

3. MySQLへの接続

3-1. MySQL on OCI Marketplaceに接続する

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

  • JDBCドライバーのダウンロード
    URL: https://dev.mysql.com/downloads/connector/j/
    ダウンロードには、オラクルのアカウントが必要です。
    Windows OSの場合、"Platform Independent"を選択します。

ダウンロード後、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を指定

  • 接続後

3-2. Amazon RDS for MySQLに接続する

上記(3-1)の接続方法は、Amazon RDS for MySQLにも適用できます。AWSのセキュリティグループとネットワークACLのインバウンドルールに、アクセス元のIPアドレスを追加し、TCP 3306を許可する必要があります。

接続設定画面:
ホスト名のところに、MySQLのエンドポイントを入力してください。
例:<db_identifier>.xxxxxxxxxxxx.<region-id>.rds.amazonaws.com


接続後:

3-3. OCI BastionサービスでMySQL Database Serviceに接続する


MySQL Database Serviceに接続したい場合、OCI Bastionサービスを利用することで、踏み台サーバーを立てずに、MySQL DBに接続できます。設定方法の詳細については、次の記事をご参照ください。
OCI Bastion経由でMySQL Database Serviceに接続する

4. MariaDBへの接続

MySQLのJDBCドライバーはMariaDBにも適用できます。

  • クライアント側の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を指定

  • 接続後

5. 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を指定

  • 接続後

6. IBM 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を指定

  • 接続後

以前のバージョン(11.5.5まで)では、デフォルトポートは50000でしたが、11.5.6からはデフォルトポートが25000となります。

7. MS SQL Serverへの接続

付録

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

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

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

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経由)への接続」を追加
2024年6月:DB2の新ポート番号を追記
2024年7月:「Amazon RDS for MySQL」のケースを追加

関連記事

オラクル・クラウドの個人ブログ一覧
Oracle LinuxでSQL Developerを利用する方法
OCI データベース・ツールでオラクルDBへの接続方法
Oracle Base DBのサービス名を取得する
OCI Cloud Shell上のSQL PlusからADBに接続する
OCI MarketplaceからMySQLインスタンスを作成する手順


公式ドキュメント
Oracle SQL Developer

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?