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

SQLServerデータをSalesforce.comに挿入する

    SQL ServerをSalesforceに接続した後、データを挿入する方法は、ターゲット列のSalesforceデータ型によって異なります。たとえば、2つのテキストフィールドを含む単純なカスタムSalesforceテーブルがある場合、次のSQLステートメントの両方が有効です。

    INSERT INTO MYSALESFORCELINKEDSERVER.SF.DBO.Test__c(Name, Mth__c)
    VALUES ('Test', 'Jan')
    
    INSERT OPENQUERY (MYSALESFORCELINKEDSERVER, 'SELECT Name, Mth__c FROM Test__c') 
    VALUES ('Test 2', 'JAN'); 

    別のアプローチが必要であると認識しているSalesforceデータ型は、テキスト領域と長いテキスト領域です。例:

    INSERT INTO MYSALESFORCELINKEDSERVER.SF.DBO.Product2(Name,Description,Family)
    VALUES ('Easysoft ODBC-Oracle Driver', 'ODBC Driver for Oracle 8-12',
            'Easysoft Data Access')

    は有効な挿入ステートメントですが、SQL Serverが実行しようとしていることをサポートしていないため、失敗します。

    OLE DB provider "MSDASQL" for linked server "MYSALESFORCELINKEDSERVER" returned
    message "Query-based insertion or updating of BLOB values is not supported.".

    これを回避するには、別の方法を使用する必要があります:

    EXEC ('INSERT INTO Product2 ( [Name], ProductCode, [Description] )
    VALUES ( ''Easysoft ODBC-Oracle Driver'', ''ODBC Driver for Oracle 8-12'',
             ''Easysoft Data Access'')')
    AT MYSALESFORCELINKEDSERVER

    挿入関連の記事は次のとおりです。

    • SalesforceでSQLServerを使用するためのヒント
    • SQLServerからSalesforce.comにラージオブジェクトデータを挿入する
    • SQLServerからのINSERTINTOを使用したSalesforceデータの変更
    • SQL Serverからマスター/詳細Salesforceフィールドに挿入すると、「複数ステップのOLEDB操作でエラーが発生しました」というメッセージが表示されます。何ができますか?

    更新例:

    • SQLServerカーソルを使用したSalesforceデータの更新

    1. Oracle PL/SQLでのCSVファイルの読み取りとインポート

    2. SQLにif-then-elseロジックを含めることはできますか?

    3. SQL Server(T-SQL)で圧縮を使用してテーブルを作成する

    4. PostgreSqlの予約から作業時間のみを返す方法は?