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

Database

初めに

SQL Developerは、オラクルが提供する便利なGUIツールで、オラクルDBだけでなく、MySQLやPostgreSQLなど、さまざまなデータベースに対応しています。この記事では、SQL Developerを使って異なるデータベースに接続する方法を詳しく解説します。データベース操作の基本である「接続」をマスターすることで、作業効率が大幅に向上します。接続でお困りの方々にとって、この記事が役立つことを願っています。

Connect to variable DBs with SQL Developer

※、2022年4~5月、OCI Bation経由で「Oracle Base DB」、「Autonomous DB」及び「MySQL DB Servcie」への接続方法を追記しました。今後も他のターゲットDBを引き続き紹介していきます。

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

様々なDBに接続する

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

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

SQL Developer の準備

1. Windows OS の場合

  • 1-1. インスーラの手動ダウンロードと解凍
    ダウンロードURL:https://www.oracle.com/tools/downloads/sqldev-downloads.html
    (この例では、JDK8付きのWindows版を使用します。)
    Download SQL Developer

    Zipファイルを解凍して後、sqldeveloper.exeをダブルクリックし実行します。
    Run SQL Developer
    SQL Developer is loading

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

  • 1-2. PowerShellでインスーラの自動ダウンロードと解凍
    PowerShellスクリプトをを使用すると、SQL Developerインスーラを自動にダウンロードと解凍することが可能です。詳しくは、次の記事をご参照ください。
    PowerShellでSQL DeveloperをWindowsに自動インストール

2. 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. 直接に接続する

Connect to Oracle DB with SQL Developer

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

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

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

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

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

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

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

プライベートサブネット内のOracle DBに接続するには、OCI Bastionサービスのほか、踏み台サーバやロードバランサを経由するなど、さまざまな方法があります。詳細について、このまとめ記事をご参照ください。

2. Autonomous AI DBへの接続

2-1. 直接に接続する

Connect to Autonomous AI Database with SQL Developer

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

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

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

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

2-2. ウォレットなしの接続

ウォレットを利用してADBに接続するのは一般的な方法です。アクセス・タイプがパブリック(VCNに所属しない)の場合、ウォレットは必須です。一方、ADBがVCN内に配置されている場合は、ウォレットを使用せずに接続することも可能です。

相互TLS(mTLS)認証の設定
ADBの詳細画面で、「アクセス・タイプ」と「相互TLS(mTLS)認証」の状態を確認します。アクセス・タイプが「VCN」であれば問題ありません。デフォルトでは「相互TLS(mTLS)認証」が有効になっていますが、編集ボタンを押して無効(Disable)に設定してください。変更が完了するまで、しばらくお待ちください。

Check mTLS setting

SQL Developerの接続設定
Connection Type: Custom JDBCを指定
Custome JDBC URL: jdbc:oracle:thin:@<接続文字列>

接続文字列は、ウォレット内のtnsnames.oraファイルに記載されています。ウォレットを解凍し、接続文字列をコピーして使用してください。

URLの例:

jdbc:oracle:thin:@(description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=<略>.adb.ap-tokyo-1.oraclecloud.com))(connect_data=(service_name=<略>_high.adb.oraclecloud.com))(security=(ssl_server_dn_match=no)))

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

Connect to Autonomous AI Database via OCI Bastion Service

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

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

プライベートサブネット内のADBに接続するには、OCI Bastionサービスのほか、踏み台サーバやロードバランサを経由するなど、さまざまな方法があります。詳細について、このまとめ記事をご参照ください。

3. MySQLへの接続

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

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

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

    ダウンロード後、ZIPファイルを解凍します。
    Unzip JDBC driver (MySQL)
    2022/05/04 追記:現時点、上記URLから直接にドライバーをダウンロードできません。インストーラ・ファイルを実施する必要があります。詳細、ここをご参照ください。
  • JDBCドライバーの追加
    MENU → Tools → Preferences → Database → Third Party JDBC Drivers → Add Entry
    Add JDBC driver (MySQL)

    Add entry for third party JDBC driver
  • クライアント側の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>';
  • 設定後、以下のコマンドで確認します。
    To confirm that your client's IP is permitted
  • 接続を新規作成
    Database Type: MySQLを指定
    New connection for MySQL on OCI Marketplace
  • 接続後
    Connection to MySQL on OCI Marketplace is successful

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

Connect to Amazon RDS for MySQL with SQL Developer

接続後:
Connection to Amazon RDS for MySQL is successful

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

Connect to MySQL Database Service via OCI Bastion
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を指定
    New connection for MairaDB
  • 接続後
    Connection to MairaDB is successful

5. PostgreSQLへの接続

  • JDBCドライバーの追加
    MENU → Tools → Preferences → Database → Third Party JDBC Drivers → Add Entry
    Add JDBC driver (PostgreSQL)
  • クライアント側の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
    Open pg_hba.conf
    Edit pg_hba.conf
  • 接続を新規作成
    Database Type: PostgreSQLを指定
    New connection for PostgreSQL
  • 接続後
    Connection to PostgreSQL is successful

6. IBM DB2への接続

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

    ダウンロード後、ZIPファイルを解凍します。
    Unzip DB2 JDBC driver
  • JDBCドライバーの追加
    MENU → Tools → Preferences → Database → Third Party JDBC Drivers → Add Entry
    Add DB2 JDBC driver
  • 接続を新規作成
    Database Type: DB2を指定
    New connection for DB2
  • 接続後
    Connection to DB2 is successful
以前のバージョン(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

GUI language setting

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

編集対象ファイル

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

利用中の言語に応じて以下の行を編集してください。編集後、SQL Developerを再起動してください。
Change GUI font size

A-3. PowerShellでSQL Developerを自動インストール

詳細については、PowerShellでSQL DeveloperをWindowsに自動インストールをご参照ください。

A-4. DBMS_OUTPUTを有効にする方法

1. メニューバー → ビュー(View) → DBMS OUTPUT をクリック
2. DBMS OUTPUTパネルで、緑色のプラスアイコンをクリックして現在のDB接続の出力を有効にする
Enable DBMS_OUTPUT
3. PL/SQLブロックを実行すると、DBMS_OUTPUT.PUT_LINEの出力がパネルに表示される。

以上

改訂歴

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」のケースを追加
2025年1月:「PowerShellでSQL Developerを自動インストール」を追加
2025年2月:「DBMS_OUTPUTを有効にする方法」を追加


公式ドキュメント
Oracle SQL Developer: 英語 日本語

タイトルとURLをコピーしました