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

SQL Server 2017:SSISを使用したLinuxからWindowsへのSQLServerデータのコピー

    SQL Server 2017 Integration ServicesをLinuxで実行できるようになりました。つまり、Windowsで開発されたパッケージを移行し、ODBCをコネクタとして使用できます。

    これをテストするために、ローカルとリモートのSQL Serverインスタンス間でデータをコピーし、Linuxマシンでパッケージを実行する単純なパッケージをWindowsで作成しました。

    プロセスは単純でした。覚えておくべき唯一のことは、WindowsマシンとLinuxマシンで同じ名前のODBCデータソースを作成する必要があるということです。簡単なテストパッケージを作成する手順は次のとおりです。

    1. SQL Server Management Studioで、データのコピー元のSQLServerインスタンスに接続します。
    2. 簡単なテストテーブルを作成します。
      CREATE DATABASE ssis
      USE ssis
      CREATE TABLE Persons (
          PersonID int identity,
          LastName varchar(255),
          FirstName varchar(255),
          Address varchar(255),
          City varchar(255)
      );
      INSERT INTO Persons VALUES ('Erichsen', 'Tom', 'Skagen 21', 'Stavanger')
      
    3. データのコピー先のインスタンスに接続します。テストテーブルを作成しますが、入力しないでください。
    4. Visual Studioがインストールされているマシンで、SQLServerインスタンスごとに1つずつ2つのODBCデータソースを作成します。これを行うには、32ビットバージョンのODBCデータソースアドミニストレータを使用します。
    5. Visual Studioで、新しいIntegrationServicesプロジェクトを作成します。
    6. データフロータスクをツールボックスから[制御フロー]タブにドラッグします。
    7. [データフロー]タブを選択します。
    8. ODBCソースをツールボックスから[データフロー]タブにドラッグし、Returnキーを押します。

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

    9. ODBCソースを選択し、Returnキーを押します。
    10. [ODBCソース]ダイアログボックスで、[新規]を選択します。
    11. [ODBC接続マネージャーの構成]ダイアログボックスで、[新規]を選択します。
    12. [接続マネージャー]ダイアログボックスで、ソースSQL Serverインスタンスに接続するODBCデータソースを選択し、[OK]ボタンを使用して[ODBCソース]ダイアログボックスに戻ります。
    13. 列を選択します。
    14. ODBC宛先をツールボックスから[データフロー]タブにドラッグし、Returnキーを押します。

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

    15. ODBCソースを選択します。青い矢印をODBC宛先にドラッグします。
    16. ODBC宛先を選択し、Returnキーを押します。
    17. [ODBC宛先]ダイアログボックスで、[新規]を選択します。
    18. [ODBC接続マネージャーの構成]ダイアログボックスで、[新規]を選択します。
    19. [接続マネージャー]ダイアログボックスで、宛先SQL Serverインスタンスに接続するODBCデータソースを選択し、[OK]ボタンを使用して[ODBCソース]ダイアログボックスに戻ります。
    20. テーブルまたはビューリストの名前で、[個人]を選択します。
    21. マッピングを選択してください。
    22. PersonID列間のマッピングを削除します。 PersonIDは自動的に入力されます。
    23. SQLServerとSSISのLinuxポートがインストールされているマシンに64ビットLinuxバージョンのSQLServerODBCドライバーをインストール、ライセンス供与、およびテストします。
    24. Linuxマシンで、Windowsで作成したデータソースと同じ名前の2つのSQLServerODBCデータソースを作成します。

      Linuxでは、通常は/etc/odbc.iniに保存されているテキストファイルを編集して、ODBCデータソースを作成します。サンプルデータソースSQLSERVER_SAMPLEを適応させることができます 、必要に応じて、名前を変更することを忘れないでください。

    25. SSISパッケージをWindowsマシンからLinuxマシンにコピーします。
    26. パッケージを実行するには:
      export PATH=/opt/ssis/bin:$PATH
      dtexec /F "MyPackage.dtsx"
      

    1. OracleシステムがUnicodeまたはマルチバイト文字をサポートするように設定されているかどうかを確認するにはどうすればよいですか?

    2. プリズマ、順序を逆にする方法

    3. Oracleエイリアシングを理解する-2番目のクエリでラップされない限り、エイリアスがクエリで認識されないのはなぜですか?

    4. MySQL複数の行を返すSELECTサブクエリを使用してテーブルにINSERTを実行するにはどうすればよいですか?