sql >> データベース >  >> RDS >> Mysql

ODBCアプリケーションをMySQLに接続する

    • MySQLODBCドライバーのインストール
    • ODBCデータソースの構成
    • アプリケーションをMySQLに接続する
      • アクセス
      • Excel
      • Oracle®
      • SQL Server(リンクサーバー/ SSIS)

    MySQLODBCドライバーのインストール

    1. Windowsプラットフォーム用のMySQLODBCドライバーをダウンロードします。 (登録が必要です。)
    2. クライアントアプリケーションがインストールされているマシンにMySQLODBCドライバーをインストールしてライセンスを取得します。

      たとえば、ExcelでMySQLデータを分析する場合は、ExcelがインストールされているマシンにMySQLODBCドライバーをインストールします。

      これを行うには、前の手順でダウンロードしたファイル配布を実行し、画面の指示に従います。

      ライセンスを取得するまでMySQLODBCドライバーを使用できないため、インストールプログラムはEasysoftLicenseManagerを起動します。

      次の種類のライセンスを利用できます。

      • 期間限定の無料試用ライセンス。期間限定(通常は14日間)で製品を無料で無制限に使用できます。
      • 製品を購入した場合はフルライセンス。製品を購入すると、ライセンスを取得するために使用する認証コードが与えられます
    3. Easysoft License Managerで、詳細を入力します。

      [名前]、[電子メールアドレス]、および[会社]フィールドに入力する必要があります。

      電子メールアドレスは、Easysoft Webサイトからの登録およびダウンロードに使用されるアドレスと同じである必要があります。同じでない場合、試用ライセンスを取得できません。

    4. リクエストライセンスを選択します。

      ライセンスの種類を尋ねられます。

    5. 次のいずれかを実行します:
      • 試用ライセンスの場合は、[期間限定試用]をクリックしてから、[次へ]をクリックします。

        License Managerは、ライセンスを取得しているソフトウェアを尋ねます。ドロップダウンリストからEasysoftMySQLODBC Driverを選択し、[次へ]をクリックします。

      • 購入したライセンスの認証コードを取得した場合は、[有効期限が切れていないライセンス]を選択し、[次へ]をクリックします。

        LicenseManagerが認証コードを要求します。

        承認コードを入力し、[次へ]をクリックします。

    6. License Managerは、入力した情報の概要を表示し、ライセンスの申請方法を選択できるようにします。
    7. 次のいずれかを実行します:
      • マシンがインターネットに接続されていて、ポート8884に発信接続できる場合は、[オンラインリクエスト]を選択します。

        次に、ライセンスマネージャはEasysoftライセンスサーバーにリクエストを送信して、ライセンスキーを自動的にアクティブ化します。これが最も迅速な方法であり、詳細がサポートデータベースにすぐに入力されます。

      • 残りの3つのオプション(Eメールリクエスト、印刷リクエスト、表示リクエスト)はすべて、マシンがオフラインの場合(つまり、インターネットに接続していない場合)にライセンスを取得する方法です。

        これらの各方法では、Easysoftにマシン番号(マシンに固有の番号)などの情報を提供し、ライセンスキーの受信を待機します。

        Easysoftに詳細を電子メールで送信する代わりに、Easysoft Webサイトで直接入力すると、ライセンスキーが自動的に電子メールで送信されます。

        この方法を使用するには、[リクエストの表示]をクリックして、次のURLにアクセスします。

        • 試用ライセンスページ
        • フルライセンスページ

        [ライセンス]ページで、マシン番号(および購入したライセンスの認証コード)を入力し、[送信]をクリックすると、ライセンスキーが電子メールで送信されます。

        ライセンスキーを受け取ったら、電子メールの添付ファイルをダブルクリックするか、ライセンスマネージャーのメイン画面で[ライセンスの入力]をクリックして、ダイアログボックスにライセンスキーを貼り付けることで、ライセンスキーをアクティブ化できます。

      • [完了]を選択してライセンスマネージャーを終了します。

        インストールが完了しました。

    ODBCデータソースの構成

    MySQL ODBCドライバーを使用してアプリケーションをMySQLに接続する前に、ODBCデータソースを構成する必要があります。 ODBCデータソースには、ターゲットデータベース(MySQLなど)とそれに接続するために必要なODBCドライバー(MySQL ODBCドライバーなど)の接続の詳細が格納されます。

    ODBCデータソースは、Windowsに含まれているODBCAdministratorで構成します。 ODBC Administratorの実行方法は、Windowsのバージョンが32ビットか64ビットかによって異なります。

    • 32ビットWindowsを使用しています

      32ビットWindowsでODBCAdministratorを実行するには、コントロールパネルで[管理ツール]を開き、[データソース(ODBC)]を開きます。 (古いバージョンのWindowsでは、ODBC Administratorを起動するコントロールパネルアプレットにはデータソースというラベルが付いています。)

    • 64ビットWindowsを使用しています

      このプラットフォームには、2つのバージョンのODBCAdministratorがあります。実行する必要のあるODBCAdministratorのバージョンは、MySQLに接続するアプリケーションが32ビットか64ビットかによって異なります。この記事で取り上げるアプリケーションについては、次の表を参照して、アプリケーションのアーキテクチャを確認してください。

      アプリケーション メモ
      アクセス Accessには32ビットバージョンと64ビットバージョンの両方があります。使用しているAccessのバージョンを確認するには、Accessを起動してから、Windowsタスクマネージャを起動します。タスクマネージャで、[プロセス]タブを選択します。 MSACCESS.EXEを探します リストにあります。プロセス名がM​​SACCESS.EXE*32の場合、MicrosoftAccessは32ビットです。プロセス名がM​​SACCESS.EXEの場合、MicrosoftAccessは64ビットです。
      Excel Excelには32ビットバージョンと64ビットバージョンの両方があります。使用しているExcelのバージョンを確認するには、Excelを起動してから、Windowsタスクマネージャを起動します。タスクマネージャで、[プロセス]タブを選択します。 Excel.exeを探します リストにあります。このプロセス名の後に*32が続く場合 、Excelのバージョンは32ビットです。それ以外の場合、Excelのバージョンは64ビットです。
      Oracle® MySQL ODBCドライバーと対話するOracle®コンポーネントは、DG4ODBCと呼ばれます。 DG4ODBCには、32ビットバージョンと64ビットバージョンの両方があります。使用しているDG4ODBCのバージョンを確認するには、Windowsタスクマネージャーを起動し、[プロセス]タブを選択します。コマンドプロンプトウィンドウで、「dg4odbc --help」と入力します 。 Windowsタスクマネージャーで、DG4ODBCプロセスを探します。イメージ名が「dg4odbc.exe*32」の場合、DG4ODBCは32ビットです。イメージ名が「dg4odbc.exe」の場合、DG4ODBCは64ビットです。 Windowsタスクマネージャを使用してDG4ODBCのアーキテクチャを確認したら、コマンドプロンプトウィンドウでCTRL+Cを押します。
      SQL Server SQLServerには32ビットバージョンと64ビットバージョンの両方があります。使用しているSQLServerのバージョンを確認するには、SQL Serverインスタンスに接続してから、次のSQLステートメントを実行します。
      select SERVERPROPERTY('edition')
      

      64ビットバージョンのSQLServerを使用している場合および リンクサーバーをMySQLODBCドライバーで使用したい場合、アプリケーションは64ビットです。

      32ビットバージョンのSQLServerを使用している場合または MySQL ODBCドライバーでSSISを使用したい場合、アプリケーションは32ビットです。

      64ビットアプリケーションを使用している場合は、64ビットバージョンのODBCAdministratorを実行する必要があります。これを行うには、コントロールパネルで[管理ツール]を開き、[データソース(ODBC)]を開きます。 (Windows Server 2003以前では、ODBCAdministratorを起動するコントロールパネルアプレットにはデータソースというラベルが付いています。Windows8以降では、コントロールパネルアプレットにはODBCデータソース(64ビット)というラベルが付いています。)

      32ビットアプリケーションを使用している場合は、32ビットバージョンのODBCAdministratorを実行する必要があります。これを行うには、[Windowsの実行]ダイアログボックスで、次のように入力します。

      %windir%\syswow64\odbcad32.exe
      
    • 32ビットと64ビットのどちらのWindowsを使用しているかわかりません

      ご使用のWindowsのバージョンが32ビットか64ビットかわからない場合は、このマイクロソフトサポート技術情報の記事の手順に従って確認してください。

    ODBCAdministratorを使用してMySQLODBCドライバーデータソースを作成します:

    1. [システムDSN]タブを選択し、[追加]を選択します。
    2. [新しいデータソースの作成]ダイアログボックスで、[Easysoft ODBC-MySQL Driver]を選択し、[Finish]を選択します。
    3. 次のフィールドに入力しますEasysoftODBC-MySQLDriver DSN Setupダイアログボックス:
      設定
      DSN MYSQL
      ユーザー名 MySQLユーザーの名前。
      パスワード MySQLユーザーのパスワード。
      サーバー MySQLサーバーが実行されているマシンのホスト名またはIPアドレス。
    4. [テスト]ボタンを使用して、MySQLデータベースに正常に接続できることを確認します。

    アプリケーションをMySQLに接続する

    • アクセス
    • Excel
    • Oracle®
    • SQL Server(リンクサーバー/ SSIS)

    Microsoft Access

    Microsoft Accessは、ODBCドライバーを使用して外部データソースと対話します。 ODBCはデータアクセステクノロジであり、そのMicrosoft実装はWindowsに含まれています。 MySQL ODBCドライバーを使用してMicrosoftAccessをMySQLデータベースに接続し、MicrosoftAccessフロントエンドからMySQLデータを取得および更新できるようにします。

    1. MicrosoftAccessデータベースを開きます。
    2. 次のいずれかを実行します:
      • Microsoft Access 2003以前の場合、[ファイル]メニューで[外部データの取得]>[リンクテーブル]を選択します。

        [リンク]ダイアログボックスが表示されます。

      • Microsoft Access 2007の場合、[外部データ]タブで、[その他]>[ODBCデータベース]を選択します。

        外部データの取得ウィザードが起動します。

      • Microsoft Access 2010以降の場合、[外部データ]タブで[ODBCデータベース]を選択します。

        外部データの取得ウィザードが起動します。

    3. 次のいずれかを実行します:
      • Microsoft Access 2003以前の場合は、[ファイルの種類]リストから[ODBCデータベース]を選択します。
      • Microsoft Access 2007以降の場合は、[リンクテーブルを作成してデータソースにリンクする]を選択し、[OK]を選択します。

      [データソースの選択]ダイアログボックスが表示されます。

    4. [マシンデータソース]リストからODBCデータソースを選択し、[OK]を選択します。

      [リンクテーブル]ダイアログボックスが表示されます。

    5. リンクするテーブルを選択してから、[OK]を選択します。
    6. Microsoft Accessでリンクされたテーブルを選択し、[戻る]を選択してリンクされたデータを操作します。

    ExcelをMySQLに接続する

    次の手順に従って、MicrosoftQueryを使用してMySQLからMicrosoftExcelにデータを返します。

    1. 次のいずれかを実行します:
      • Excel 2007以降の場合、[データ]タブで[外部データの取得]を選択します。 [他のソースから]グループで、[Microsoftクエリから]を選択します。
      • Excel 2003以前の場合、[データ]メニューで[外部データのインポート]を選択し、[新しいデータベースクエリ]を選択します。

      New Database Queryコマンドは、MicrosoftQueryを使用してデータをインポートします。 Microsoft Queryはオプション機能であり、デフォルトではインストールされません。 Microsoft Queryがインストールされていない場合は、[新しいデータベースクエリ]を選択すると、インストールするように求められます。これを行うには、コントロールパネルで[プログラムと機能](または[プログラムの追加と削除])を選択します。 Microsoft Office(Officeの一部としてExcelをインストールした場合)またはMicrosoft Excelを選択し、[変更]を選択します。画面の指示に従ってください。このオプションがOffice/Excelのバージョンに存在する場合は、セットアップウィザードで[アプリケーションの高度なカスタマイズを選択する]を選択します。 MicrosoftQueryはOfficeToolsの下にあります。

      Microsoft Queryをインストールしたら、手順1を繰り返します。

    2. [データソースの選択]ダイアログボックスで、リストからMySQL ODBCドライバーのデータソースを選択し、[OK]を選択します。
    3. 「このデータソースには表示されているテーブルが含まれていません」というメッセージが表示されたら、[OK]を選択します。が表示されます。
    4. クエリウィザードで、[キャンセル]を選択します。
    5. MicrosoftQueryでこのクエリの編集を続行するかどうかを確認するメッセージが表示されたら[はい]を選択します。
    6. [テーブルの追加]ダイアログボックスで、[閉じる]を選択します。
    7. SQLボタンを選択します。
    8. [SQLステートメント]ダイアログボックスで、SQLクエリを入力します。例:
      select * from employees
      
    9. [ファイル]メニューで、[データをExcelに返す]を選択します。
    10. プロンプトが表示されたら、ワークシート上のデータの場所を選択します。

    Oracle®をMySQLに接続する

    次の手順は、Windows上のOracle®をMySQLに接続する方法を示しています。 DG4ODBCの詳細については、DG4ODBCforWindowsチュートリアルを参照してください。

    1. DG4ODBC初期化ファイルを作成します。これを行うには、%ORACLE_HOME%\hs\adminに変更します。 ディレクトリ。ファイルinitdg4odbc.oraのコピーを作成します 。新しいファイルにinitmysql.oraという名前を付けます 。

      これらの手順では、%ORACLE_HOME%をOracle®HOMEディレクトリの場所に置き換えます。例:C:\oraclexe\app\oracle\product\11.2.0\server

    2. これらのパラメータと値がinitファイルに存在することを確認してください:
      HS_FDS_CONNECT_INFO = my_mysql_odbc_dsn
      

      my_mysql_odbc_dsnを置き換えます ターゲットMySQLサーバーに接続するMySQLODBCドライバーデータソースの名前を使用します。例

      HS_FDS_CONNECT_INFO = "32-bit MySQL System"
      

      MySQLサーバーがしない場合 ユーザー名とパスワードを入力する必要があります。IgnoreAuth=Yesを含めてください HS_FDS_CONNECT_INFO内 パラメータ値。例:

      HS_FDS_CONNECT_INFO = "32-bit MySQL System;IgnoreAuth=Yes"
      
    3. Oracle®/MySQLの互換性を高めるために次の行を追加します:
      HS_FDS_QUOTE_IDENTIFIER = FALSE
      
    4. DG4ODBCトレースを有効にする行をコメントアウトします。例:
      #HS_FDS_TRACE_LEVEL = <trace_level>
      
    5. %ORACLE_HOME%\network\admin\listener.oraにエントリを追加します これにより、DG4ODBCのSID_NAMEが作成されます。例:
      SID_LIST_LISTENER =
       (SID_LIST =
         (SID_DESC=
           (SID_NAME=mysql)
           (ORACLE_HOME=%ORACLE_HOME%)
           (PROGRAM=dg4odbc)
         )
       )
      
    6. DG4ODBCエントリを%ORACLE_HOME%\network\admin\tnsnames.oraに追加します これは、前の手順で作成したSID_NAMEを指定します。例:
      MYSQL =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = TCP)(HOST = oracle_host)(PORT = 1521))
          (CONNECT_DATA =
            (SID = mysql)
          )
          (HS = OK)
        )
      

      oracle_hostを置き換えます Oracle®マシンのホスト名を使用します。

    7. Oracle®リスナーを起動(または再起動)します:
      cd %ORACLE_HOME%\bin
      lsnrctl stop
      lsnrctl start
      
    8. SQL*PlusでOracle®データベースに接続します。
    9. SQL * Plusで、ターゲットMySQLサーバーのデータベースリンクを作成します。例:
      CREATE PUBLIC DATABASE LINK mysqllink CONNECT TO
      "my_mysql_user" IDENTIFIED by "my_mysql_password" USING 'mysql';
      

      –または、MySQLサーバーがしない場合 ユーザー名とパスワードを入力する必要があります:

      CREATE PUBLIC DATABASE LINK mysqllink USING 'mysql';
      
    メモ
    • Oracle®からMySQLへの接続に問題がある場合は、DG4ODBCトレースを有効にして、%ORACLE_HOME%\hs\traceに書き込まれたトレースファイルを確認してください。 ディレクトリ。 DG4ODBCトレースを有効にするには、HS_FDS_TRACE_LEVEL = DEBUGという行を追加します。 initmysql.oraへ 次に、Oracle®リスナーを起動/再起動します。 traceの場合 ディレクトリが存在しない場合は作成してください。
    • ODBC Driver Managerトレースを有効にしても、トレースファイルを取得しない、または空のトレースファイルを取得しない場合は、トレースファイルの場所をWindowsTEMPディレクトリに変更します。例:C:\Windows\Temp\SQL.log

    SQL Server(Linked Server / SSIS)をMySQLに接続する

    リンクサーバー

    これらの手順は、SQL Serverテーブルに格納されているデータを操作する場合と同じように、リンクサーバーを使用してMySQLデータを操作する方法を示しています。

    1. Microsoft SQL Server Management Studioで、リンクサーバーを作成するSQLServerインスタンスに接続します。

      リンクサーバーを作成するには、SQLServersysadmin固定サーバーの役割のメンバーであるアカウントでログオンする必要があります。

    2. [サーバーオブジェクト]>[リンクサーバー]>[プロバイダー]>[MSDASQL]を右クリックします。ポップアップメニューから[プロパティ]を選択します。
    3. 次のプロバイダーオプションがチェックされていることを確認します。
      • ネストされたクエリ
      • レベルゼロのみ
      • インプロセスを許可する
      • 「Like」演算子をサポート

      他のプロバイダーオプションはオフにする必要があります。

    4. サーバーオブジェクトを右クリックします。ポップアップメニューから[新規]>[リンクサーバー]を選択します。
    5. [リンクサーバー]ボックスに「MYSQL」と入力します。
    6. [プロバイダー]リストから、[ODBCドライバー用のMicrosoftOLEDBプロバイダー]を選択します。
    7. [データソース]ボックスに、MySQL ODBCデータソースの名前を入力し、[OK]を選択します。
    8. セキュリティページを選択します。
    9. このセキュリティコンテキストを使用して作成することを選択します。
    10. 提供されたスペースにMySQLユーザー名とパスワードを入力します。 [OK]を選択します。

      SQL Serverは、接続をテストしてリンクサーバーを検証します。

      • 「システムエラー126のため、指定されたドライバを読み込めませんでした:指定されたモジュールが見つかりませんでした」というエラーが表示された場合は、リンクサーバーを保持するかどうかを確認するメッセージが表示されたら[はい]を選択します。リンクサーバーを使用する前に、SQLServerインスタンスを再起動する必要があります。 MySQLODBCドライバーをインストールしたときにSQLServerが既に実行されていた場合、SQLServerには最新バージョンのSystemPATH環境変数がありません。 MySQL ODBCドライバーセットアッププログラムは、ドライバーのエントリをシステムPATHに追加します。インスタンスを再起動すると、これらの変更がSQL Serverで利用できるようになり、MySQLODBCドライバーをロードできるようになります。
      • MySQL ODBCドライバーのデータソースを指定するときに間違えた場合は、「データソース名が見つかりません。デフォルトのドライバーが指定されていません。このエラーが発生した場合は、リンクサーバーを保持するかどうかを確認するメッセージが表示されたら[いいえ]を選択してください。 [データソース]ボックスの値を編集します。
    11. 次のいずれかを使用してMySQLデータをクエリできます。
      • 分散クエリの4つの部分のテーブル名。

        4つの部分からなるテーブル名の形式は次のとおりです。

        server_name 。[database_name ]。[schema_name ]。table_name

        MySQLの場合、データベース名とスキーマを省略する必要があります。例:

        SELECT * from MYSQL...sales_by_film_category
        
      • OPENQUERY関数でのパススルークエリ。例:
        SELECT * FROM OPENQUERY(MYSQL, 'SELECT * FROM sales_by_film_category')
        

        SQL Serverは、パススルークエリを未解釈のクエリ文字列としてMySQLODBCドライバーに送信します。これは、SQL Serverがクエリにいかなる種類のロジックも適用したり、そのクエリが何を実行するかを推定しようとしたりしないことを意味します。

        MySQLのTEXT データ型はSQLServerと互換性がありません。 TEXTを取得しようとした場合 列には、「要求された変換はサポートされていません」などのエラーが表示されます。または「制限付きデータ型属性違反」。 TEXTを使用するには SQL Serverのデータの場合、MySQLのデータをSQLServerがサポートするタイプに変換する必要があります。例:

        SELECT * FROM OPENQUERY(MYSQL, 'SELECT CAST(description AS char(255)) AS description from film where film_id = 1000')
        

    SQL Server Integration Services(SSIS)

    これらの手順は、VisualStudio用のMicrosoftVisualStudioおよびSQLServerデータツールがインストールされていることを前提としています。

    1. 次の内容のfilm.csvという名前の.csvファイルを作成します:
      film_id,title,description,release_year,language_id,original_language_id,rental_duration,rental_rate,length,replacement_cost,rating,special_features,last_update
      1001,"Mad Max: Fury Road","Haunted by his turbulent past, Mad Max believes the best way to survive is to wander alone",2015,1,1,3,"4.99",50,"18.99","NC-17","Trailers,Commentaries,Behind the Scenes","2015-05-08 00:00:01"
      1002,"Avengers: Age of Ultron","When Tony Stark tries to jumpstart a dormant peacekeeping program, things go awry",2015,1,1,3,"4.99",50,"18.99","NC-17","Trailers,Commentaries,Behind the Scenes","2015-05-08 00:00:01"
      
    2. Visual Studioで、新しいIntegrationServicesプロジェクトを作成します。
    3. データフロータスクをツールボックスから[制御フロー]タブにドラッグします。
    4. [データフロー]タブを選択します。
    5. フラットファイルソースをツールボックスから[データフロー]タブにドラッグし、Returnキーを押します。

      FlatFileSourceはOtherSourcesリストの下にあります。

    6. フラットファイルソースエディタで、[新規]を選択します。
    7. [フラットファイル接続マネージャーエディター]ダイアログボックスで、.csvファイルを参照します。
    8. テキスト修飾子ボックスに"と入力します 。
    9. [詳細オプション]で、last_update列のDataTypeをdatabase timestamp [DT_DBTIMESTAMP]に変更します。 。 [OK]を選択します。
    10. [エラー出力]セクションで、説明の切り捨てアクションをIgnore failureに変更します 。 [OK]を選択します。
    11. ODBC宛先をツールボックスから[データフロー]タブにドラッグし、Returnキーを押します。

      ODBC宛先は[その他の宛先]リストにあります。

    12. フラットファイルソースを選択します。青い矢印をODBC宛先にドラッグします。
    13. ODBC宛先を選択し、Returnキーを押します。
    14. [ODBC宛先]ダイアログボックスで、[新規]を選択します。
    15. [ODBC接続マネージャーの構成]ダイアログボックスで、[新規]を選択します。
    16. [接続マネージャー]ダイアログボックスで、MySQL ODBCデータソースを選択し、[OK]ボタンを使用して[ODBCソース]ダイアログボックスに戻ります。
    17. テーブルまたはビューリストの名前に、filmと入力します 。 [マッピング]を選択してから、[OK]を選択します。
    18. [スタート]ボタンを選択して、film.csvファイルのレコードをMySQLに挿入します。

    1. バーマンクラウド–パート2:クラウドバックアップ

    2. PostgreSQLストリーミングと論理レプリケーション–比較

    3. ストアドプロシージャ内のストアドプロシージャの呼び出し

    4. openprojectのデータを失うことなくpostgresqlデータベースを10から12にアップグレードする方法