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

SQLServerからSalesforce.comにラージオブジェクトデータを挿入する

    Easysoftのお客様は、Salesforce.com ODBCドライバーを使用して、SQLServerでSalesforce.comデータを操作します。顧客がSQLServerからSalesforce.comにラージオブジェクトデータを挿入しようとすると、問題が発生します。たとえば、Product2の説明フィールドにデータを挿入しようとしています:

    INSERT OPENQUERY (SALESFORCE, 'SELECT Name, ProductCode, Description FROM Product2')
    VALUES ('LongProd', 'LP01', 'My Long Field');
    
    OLE DB provider "MSDASQL" for linked server "SALESFORCE" returned message
    "Query-based insertion or updating of BLOB values is not supported."
    

    結果のエラーメッセージに示されているように、このINSERTは失敗します。根本的な問題は、一部のINSERTメソッドで、ODBCベースのリンクサーバーを使用しているときにSQLServerからLONGVARCHAR/LONGNVARCHARフィールドを更新できないことであると思われます。 (問題フィールドの説明は、Salesforce.comODBCドライバーがLONGNVARCHARとしてSQLServerに報告するSalesforce.comTEXTAREAです。)

    大きなオブジェクトデータをSalesforce.comに挿入する唯一の方法は次のとおりです。

    EXEC ('INSERT INTO Product2 ( [Name], ProductCode, [Description] )
    VALUES ( ''MyProduct'', ''MP01'', ''MyProduct long description'')')
    AT MySalesforceLinkedServer
    

    LONGVARCHARデータの挿入に反対するSQLServerのレイヤーが使用されていないため、おそらくこのメソッドは成功します。 (ただし、この方法では引き続きリンクサーバーが使用されるため、Salesforce.com ODBCドライバーが使用されます。)

    関連項目

    • SalesforceでSQLServerを使用するためのヒント
    • SQLServerからのINSERTINTOを使用したSalesforceデータの変更

    1. PostgreSQL-GROUPBY句または集計関数で使用

    2. SQLServerの指定された位置にあるリストアイテムを見つける方法

    3. ApacheSparkの主キー

    4. SQLiteデータベースへのアクティビティとバックグラウンドサービスのアクセス