PyCharm 2020.1ヘルプ

データベースに接続できません

ステップ 1. ネットワーク設定を確認する

データベースは、ローカル、サーバー上、またはクラウド内で機能します。サーバーデータベースとクラウドデータベースの場合は、ネットワーク接続が必要です。接続が利用可能であることを確認するには、pingコマンドとtelnetコマンドを使用します。

pingコマンドを使用すると、送信先コンピューターが送信元コンピューターからアクセス可能であることを確認できます。コマンドラインを開き、次のコマンドを入力します: " ping -a <host_IP>" -a は、アドレスをホスト名に解決するコマンドオプションです(可能な場合)。pingコマンドでホスト名を使用すると、ホスト名はIPアドレスに解決されます。例: ping -a example.comPING example.com (93.184.216.34)に解決されます。

ping -a <host_IP>
Test connection with the ping command

telnetコマンドを使用すると、リモートコンピューターへの接続をテストしてコマンドを発行できます。 telnet コマンドのパラメーターとしてポートを指定した場合は、そのポートでリモートホストへの接続をテストできます。接続が成功すると、メッセージ Connected to <host_IP>が表示されます。

telnet <host_IP> <port_number>
Test connection with the telnet command

ステップ 2. 接続プロパティを確認する

各データベース(MySQL、PostgreSQL、Oracle、または他のベンダー)には独自の接続設定があります。ほとんどのデータベースには接続設定が含まれています。

  • ホスト : データベースを格納しているコンピューターまたはその他のデバイスのホスト名。IPアドレス 127.0.0.1 またはドメイン名 localhostです。

  • データベース : 接続したいデータベースの名前。データベース名は、データベースサーバーの設定で確認できます。または、データベース管理者に問い合わせることもできます。場合によっては、データベースのコマンドラインでクエリを実行して、使用可能なすべてのデータベースの名前を確認することができます。例:MySQLでは SHOW DATABASES;を実行できます。

    The SHOW DATABASES query

  • ユーザー : データベースでアクションを実行するための十分な特権を持っているユーザーの名前。データベースのコマンドラインでクエリを実行して、使用可能なすべてのデータベースの名前を確認します。例:MySQLでは SHOW GRANTS;を実行できます。

    The SHOW GRANTS query

  • パスワード : ユーザーのパスワード。

  • ポート : ホスト間の接続ポイントを識別する番号。ホストはポート番号を使用して、接続を確立する必要があるアプリケーション、サービス、またはプロセスを決定します。データベースベンダーによって、データベースには異なるポートが使用されています。次のリストは、デフォルトのポート番号のリストです。

    ベンダー

    デフォルト・ポート

    Amazon Redshift

    5439

    Apache Derby

    1527

    Apache Cassandra

    9042

    Apache Hive

    10000(Hiveサーバー2)または9083 (Hive Metastore)

    Azure SQL Database

    1433

    ClickHouse

    8123

    Exasol

    8563

    Greenplum

    5432

    H2

    8082

    HSQLDB

    9001

    IBM Db2

    50000

    MariaDB

    3306

    Microsoft SQL Server

    1433(TCP)、1434 (UDPが必要な場合があります)

    MySQL

    3306

    Oracle

    1521

    PostgreSQL

    5432

    Snowflake

    443

    SQLite

    なし

    Sybase ASE

    5000

    Vertica

    5433

選択したデータベース接続の接続設定が正しいことを確認してください。データベース接続の作成または変更について詳しくは、データベース接続を参照してください。

ステップ 3. ドライバーのバージョンを確認する

JDBCドライバを使用すると、PyCharmのデータベース管理システム(DBMS)と対話できます。各DBMSには独自のJDBCドライバが必要です。ドライバのバージョンとDBMSのバージョンが互いに互換性があることを確認してください。

PyCharmから、サポートされているすべてのベンダーのドライバーをダウンロードできます。ドライバーリストで、サポートされているベンダーの完全なリストを確認できます。または、独自のドライバーを既存のベンダーに追加するか、ドライバーリストにないベンダー用の新しいドライバーエントリを作成できます。

ドライバーリストを開くには、データベースツールウィンドウ(表示 | ツール・ウィンドウ | データベース)で、データ・ソースのプロパティアイコン The Data Source Properties icon をクリックするか、Shift+Enterを押します。

ドライバをダウンロードしてドライバのバージョンを選択する

JetBrains FTPサーバーからドライバーをダウンロードするには、ドライバー リストからベンダーを選択し、ドライバー・ファイルペインのverをダウンロードします。<version_number>リンクをクリックしてください。

ドライバのバージョンを変更するには、ドライバー・ファイルペインのver。<version_number>リンクをクリックして、必要なドライバのバージョンを選択します。

The Drivers list and driver settings

JDBCドライバーを使用してデータベースへの接続を作成する

データソースのリストでデータベースベンダーの名前が見つからない場合は、データベース管理システム(DBMS)用のJDBCドライバをダウンロードし、PyCharmで接続を作成します。JDBCドライバを使用すると、DBMSに接続して作業を開始できます。

  1. データベース ツールウィンドウ(表示 | ツール・ウィンドウ | データベース)で、データ・ソースのプロパティアイコン The Data Source Properties iconをクリックします。または、Shift+Enterを押します。

  2. データ・ソースおよびドライバーダイアログで、追加アイコン(The Add icon)をクリックし、ドライバーおよびデータ・ソースを選択します。

  3. ユーザドライバリンクをクリックします。

  4. ドライバー・ファイルペインで、追加アイコン(The Add icon)をクリックし、カスタムJARを選択します。

  5. JDBCドライバのJARファイルにナビゲートして選択し、OKをクリックします。

  6. クラスフィールドで、ドライバーに使用したい値を指定します。

  7. 適用をクリックします。

  8. 作成されたデータソース接続に戻ります。

  9. データベース接続の詳細を指定してください。あるいは、URLフィールドにJDBC URLを貼り付けます。

    パスワードを削除するには、パスワードフィールドを右クリックして、空にするを選択します。

  10. データソースへの接続が正常に行われるようにするには、接続のテストをクリックします。

JDBCドライバーを既存の接続に追加する

  1. データベース ツールウィンドウ(表示 | ツール・ウィンドウ | データベース)で、データ・ソースのプロパティアイコン The Data Source Properties iconをクリックします。または、Shift+Enterを押します。

  2. データ・ソースおよびドライバーダイアログで、ドライバを変更するデータソースを選択し、データソース設定でドライバーリンクをクリックします。

  3. 提供されたドライバーエントリをクリックし、除去the Remove button)をクリックします。

    変更を元に戻すには、ウィンドウの右上部分にあるリセットをクリックします。または、追加ボタン(the Add button)をクリックして提供ドライバー | <データベース名> | <driver_version>を選択する

  4. ドライバー・ファイルペインで、追加アイコン(The Add icon)をクリックし、カスタムJARを選択します。

  5. JDBCドライバのJARファイルにナビゲートして選択し、OKをクリックします。

  6. クラスフィールドで、ドライバーに使用したい値を指定します。

  7. 適用をクリックします。

ステップ 4. SSHまたはSSLとの接続が必要かどうかを確認する

データベースへの接続をより安全にするために、一部のサービスではSSHまたはSSLの使用が必要です。

SSL

次の手順では、ほとんどのデータベースに適したSSL構成について説明します。一部のデータベースでは、接続を成功させるために別のアプローチを使用する必要があります。DataGripの資料でCassandraおよびHeroku Postgresの構成例を見ることができます。

SSLを使用してデータベースに接続する

  1. データベース ツールウィンドウ(表示 | ツール・ウィンドウ | データベース)で、データ・ソースのプロパティアイコン The Data Source Properties iconをクリックします。または、Shift+Enterを押します。

  2. 接続設定を変更するデータソースプロファイルを選択します。

  3. SSH/SSLタブをクリックし、SSL を使用するチェックボックスを選択します。

  4. CA ファイルフィールドで、CA証明書ファイル( mssql.pemなど)に移動します。

  5. クライアント証明書ファイルフィールドで、クライアント証明書ファイル( client-cert.pemなど)に移動します。

  6. クライアント・キー・ファイルフィールドで、クライアント鍵ファイル( client-key.pemなど)にナビゲートします。

  7. モードリストから検証モードを選択します。

    • 必要とする : サーバーがこのIPアドレスのSSL接続を受け入れ、クライアント証明書を認識することを確認します。

    • CAを確認する : クライアントに格納されているルート証明書までの証明書チェーンをチェックして、サーバーを検証します。

    • 完全な検証 : サーバーホストを検証して、サーバー証明書に格納されている名前と一致することを確認します。サーバー証明書を検証できない場合、SSL接続は失敗します。

  8. データソースへの接続が正常に行われるようにするには、接続のテストをクリックします。

    Connect to a database with SSL

他のデータソースからSSL設定をコピーする

1つのデータソースにSSL設定を構成した場合、別のデータソースにコピーできます。

  1. データベース ツールウィンドウ(表示 | ツール・ウィンドウ | データベース)で、データ・ソースのプロパティアイコン The Data Source Properties iconをクリックします。または、Shift+Enterを押します。

  2. 接続設定を変更するデータソースプロファイルを選択します。

  3. SSH/SSLタブをクリックし、SSL を使用するチェックボックスを選択します。

  4. 次からコピーリンクをクリックして、コピーする構成を選択します。

SSH

Secure ShellまたはSSHは、クライアントとサーバー間の接続を暗号化するために使用されるネットワークプロトコルです。

作成されたすべてのSSH接続は、プロジェクトにあるすべてのデータソース間で共有されます。プロジェクト間で接続を共有したくない場合は、SSH接続設定でこのプロジェクトでのみ表示するチェックボックスを選択します。

SSHを使用してデータベースに接続する

  1. データベース ツールウィンドウ(表示 | ツール・ウィンドウ | データベース)で、データ・ソースのプロパティアイコン The Data Source Properties iconをクリックします。または、Shift+Enterを押します。

  2. 接続設定を変更するデータソースプロファイルを選択します。

  3. SSH/SSLタブをクリックし、SSH トンネルを使用するチェックボックスを選択します。

  4. SSH構成を追加するボタン(the Add SSH configuration)をクリックしてください。

  5. SSHダイアログで、追加ボタンをクリックします。

  6. プロジェクト間で構成を共有したくない場合は、このプロジェクトでのみ表示するチェックボックスを選択します。

  7. ホストユーザー名、およびポートフィールドで、接続の詳細を指定します。

  8. 認証タイプリストから、認証方法を選択できます。

    • パスワード : パスワードでホストにアクセスします。PyCharmにパスワードを保存するには、パスワードの保存チェックボックスを選択します。

    • キー・ペア (OpenSSH または PuTTY) : 鍵ペアと一緒にSSH認証(英語)を使用します。この認証方法を適用するには、クライアントマシンにプライベートキー、リモートサーバーにパブリックキーが必要です。PyCharmは、OpenSSH(英語)ユーティリティで生成された秘密鍵をサポートしています。

      秘密鍵が格納されているファイルへのパスを指定し、対応するフィールドにパスフレーズ(存在する場合)を入力します。PyCharmにパスフレーズを記憶させるには、 パスフレーズを保存 チェックボックスを選択します。

    • OpenSSHの設定と認証エージェント : 資格情報ヘルパーアプリケーション(たとえば、WindowsではPageant(英語)、macOSおよびLinuxではssh-agent(英語))によって管理されるSSHキーを使用します。

  9. データソースへの接続が正常に行われるようにするには、接続のテストをクリックします。

PuTTYを使用してSSHトンネルを作成する (Windows)

  1. 最新バージョンのPuTTY SSH and Telnetクライアントをダウンロードして実行します(https://www.putty.org/(英語)からクライアントをダウンロードします)。

  2. PuTTYの設定ダイアログで、接続 | SSH | 認証に移動します。

  3. 認証用秘密鍵ファイル」フィールドで、秘密鍵ファイルへのパスを指定して「 開く」をクリックします。

  4. コマンドラインウィンドウで、SSHトンネルに使用するユーザー名を指定して Enterを押します。コマンドラインウィンドウを閉じないでください。

  5. データベースウィンドウ(表示 | ツール・ウィンドウ | データベース)で、ツールバーのデータ・ソースのプロパティアイコン the Data Source Properties icon をクリックします。

  6. 接続設定を変更するデータソースプロファイルを選択します。

  7. SSH/SSLタブをクリックし、SSH トンネルを使用するチェックボックスを選択します。

  8. 認証タイプリストから、OpenSSHの設定と認証エージェントを選択します。

  9. プロキシー・ホストプロキシー・ユーザー、およびポートフィールドに、接続詳細を指定します。

  10. データソースへの接続が正常に行われるようにするには、接続のテストをクリックします。

Create the SSH tunnel with PuTTY (Windows)

PageantでSSHトンネルを作成する (Windows)

PageantはPuTTY、PSCP、PSFTP、およびPlink用のSSH認証エージェントです。Pageantはあなたの秘密鍵を保管し、それが実行されている限り、PuTTYまたはPyCharmのような他のツールにロック解除された秘密鍵を提供します。WindowsのタスクバーにPageantのアイコンがあります。

  1. Pageantの最新バージョンをダウンロードしてください(https://www.putty.org/(英語)からクライアントをダウンロードしてください)。

  2. Windowsのタスクバーで、Pageantアイコンを右クリックしてKey の追加を選択します。

  3. 秘密鍵ファイルを選択ダイアログで、秘密鍵ファイル(PPKファイル)に移動して「開く」をクリックします。

  4. (オプション)秘密鍵のパスフレーズを入力して Enterを押します。

  5. データベースウィンドウ(表示 | ツール・ウィンドウ | データベース)で、ツールバーのデータ・ソースのプロパティアイコン the Data Source Properties icon をクリックします。

  6. 接続設定を変更するデータソースプロファイルを選択します。

  7. SSH/SSLタブをクリックし、SSH トンネルを使用するチェックボックスを選択します。

  8. 認証タイプリストから、OpenSSHの設定と認証エージェントを選択します。

  9. プロキシー・ホストプロキシー・ユーザー、およびポートフィールドに、接続詳細を指定します。

  10. データソースへの接続が正常に行われるようにするには、接続のテストをクリックします。

Create the SSH tunnel with Pageant (Windows)

ssh-agentを使用してSSHトンネルを作成する (macOSとLinux)

コマンドラインでssh-agentのすべてのコマンドを実行します。

  1. ssh-agentが実行されていることを確認してください。

    ssh-agent

  2. 自分の鍵をエージェントに追加します(次の例では、鍵パスは ~/.ssh/id_rsaです)。

    ssh-add ~/.ssh/id_rsa

  3. (オプション)macOSでは、ssh-add コマンドに -K オプションを追加して、キーチェーンにパスフレーズを保存できます。macOS Sierra以降では、~/.ssh/ で次のテキストを使用して config ファイルを作成する必要があります。

    Host * UseKeychain yes AddKeysToAgent yes IdentityFile ~/.ssh/id_rsa

    .ssh ディレクトリに他の秘密鍵がある場合は、各鍵に IdentityFile 行を追加してください。例:2番目の鍵の名前が id_ed25519 の場合は、2番目の秘密鍵の追加行として IdentityFile ~/.ssh/id_ed25519 を追加します。

  4. 追加されたすべてのキーを一覧表示します。

    ssh-add -L

  5. データベースウィンドウ(表示 | ツール・ウィンドウ | データベース)で、ツールバーのデータ・ソースのプロパティアイコン the Data Source Properties icon をクリックします。

  6. 接続設定を変更するデータソースプロファイルを選択します。

  7. SSH/SSLタブをクリックし、SSH トンネルを使用するチェックボックスを選択します。

  8. 認証タイプリストから、OpenSSHの設定と認証エージェントを選択します。

  9. プロキシー・ホストプロキシー・ユーザー、およびポートフィールドに、接続詳細を指定します。

  10. データソースへの接続が正常に行われるようにするには、接続のテストをクリックします。

Create the SSH tunnel with the ssh-agent (macOS and Linux)

ステップ 5. まだ助けが必要な場合は私たちに連絡してください

PyCharmチームに連絡

pycharm-support@jetbrains.comのチームにメールしてください。問題を説明し、トラブルシューティングをスピードアップできる利用可能なすべての資料(コードサンプル、スクリーンショット、ログ、アニメーション、ビデオ、およびその他の資料)を添付します。

他のトラブルシューティング情報源の詳細については、PyCharmのトラブルシューティングを参照してください。

最終更新日: 2020年5月25日

関連ページ:

データベース接続

データベースにクエリを発行するには、データソース接続を作成する必要があります。データソースはデータの場所であり、サーバーまたはDDLファイルにすることができます。データソースには、データソースの種類に依存する名前と接続設定が含まれます。Amazon RedshiftRedshiftダッシュボードで、...

SSLでCassandraに接続する方法

ステップ 1. Apache Cassandra接続を作成する:に移動するか、を押します。データ・ソースおよびドライバーダイアログで、追加アイコンをクリックし、Apache Cassandraを選択します。データソース設定領域の下部にある欠落しているドライバー・ファイルをダウンロードするリンクをクリ...

Connect to Heroku Postgres without SSL validation

Heroku Postgresに接続したい場合は、データソースベンダーに対応するデータソース接続を作成してください。この場合、PostgreSQLを使用することを計画しているため、PosgreSQLへの接続を作成する必要があります。DataGripには必要なJDBCドライバがすでに含まれています。H...

PyCharmのトラブルシューティング

PyCharmを使用している間、警告メッセージやエラーメッセージが表示されることがあります。この章では、既知の問題の解決策と回避策の一覧を示します。また、作業環境のトラブルシューティングと基本的な診断を行うための推奨事項を見つけることもできます。プロジェクト設定、コード編集、コード補完、デバッグ、C...

ダイアグラムを作成する

データベースオブジェクトの図を生成するデータソース、スキーマ、またはテーブル用の図を作成できます。データベースツールウィンドウで、データベースオブジェクトを右クリックしてを選択します。クエリプランを作成するSQLステートメントを右クリックし、計画の表示を選択します。出力ウィンドウで、プランをクリック...

データベースツリービューでデータベースオブジェクトが見つかりません

スキーマレベル以下のオブジェクトが表示されない、オブジェクトの変更が見つからない、壊れたテーブルがあるなどの視覚化の問題が発生した場合は、次の手順を実行して問題を解決してください。ステップ 1, 2および3で問題が解決しなかった場合は、Youtrackチケットを作成して、JetBrainsに状況を通...