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

SQL Server 2017:SSISを使用したLinuxからSalesforceへのCSVデータのインポート

    SQL Server 2017は現在、リリース候補として利用可能です。 SQL Server 2017が正式にリリースされた直後に、このバージョンのSQLServerをサポートするバージョンのSQLServerODBCドライバーをリリースします。 SQLServer2017リリース候補をサポートするSQLServerODBCドライバーのプレリリースは、Easysoftサポートチームから入手できます()。

    SQL Server 2017は、SQLServerODBCドライバーもサポートするLinuxポートを含むデータベースの最初のバージョンです。

    SQL Server 2017 Integration Services(SSIS)は最近Linuxに移植されました。このブログの残りの部分では、SSISパッケージをWindowsから移行してLinuxで実行する方法を説明します。

    問題のSSISパッケージは、CSVファイルからSalesforceProducts2テーブルに製品レコードをインポートします。この記事では、Windowsパッケージの作成プロセスについて説明します。

    パッケージをWindowsからLinuxに移行するには:

    1. SQLServerとSSISのLinuxポートをインストールしたマシンに64ビットLinuxバージョンのSalesforceODBCドライバーをインストール、ライセンス供与、およびテストします。
    2. Linuxマシンで、Windowsで作成したデータソースと同じ名前のSalesforceODBCデータソースを作成します。

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

      [Salesforce.com]
      Description=Easysoft ODBC-SalesForce Driver
      Driver=Easysoft ODBC-SalesForce
      uri=https://login.salesforce.com/services/Soap/u/34
      [email protected]
      password=p455w0rd
      token=ABCDEF123456
      
    3. SSISパッケージとCSVファイルをWindowsマシンからLinuxマシンにFTPで転送します。

      両方のファイルにバイナリ転送モードを選択しました。通常、CSVファイルにはASCII転送モードを選択しますが、これを実行すると、パッケージの実行が失敗し、「ヘッダー行の読み取り中にデータファイルの終わりに到達しました」と表示されます。おそらく、これはMicrosoftが将来対処するものであるか、別のアプローチがありますが、どちらの方法でも、これが問題を回避する方法です。

    4. LinuxマシンのWindowsでCSVファイルが保存されているディレクトリ構造をミラーリングする必要があります。ドライブ文字を省略し、/を\に置き換えます。この場合、CSVファイルは
      C:\Users\Administrator\Documents
      
      に保存されていました。

      そのため、Linuxでこのディレクトリ構造を作成しました:

      /Users/Administrator/Documents
      
    5. パッケージを実行するには:
      export PATH=/opt/ssis/bin:$PATH
      dtexec /F "MyPackage.dtsx"
      

    1. PostgreSQLでage()がどのように機能するか

    2. SQLServer用の直接記憶域スペースの概要

    3. LIKE句で角かっこをエスケープするにはどうすればよいですか?

    4. Oracleは、select句で定義されたデータチャンクのチェックサム値を取得します