sql >> Database teknologi >  >> RDS >> Sqlserver

Indsættelse af store objektdata i Salesforce.com fra SQL Server

Easysoft-kunder bruger vores Salesforce.com ODBC-driver til at arbejde med Salesforce.com-data i SQL Server. Der opstår vanskeligheder, når kunder forsøger at indsætte store objektdata i Salesforce.com fra SQL Server. For eksempel forsøg på at indsætte data i produkt2-beskrivelsesfeltet:

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."

Denne INSERT mislykkes, som angivet af den resulterende fejlmeddelelse. Det underliggende problem ser ud til at være, at for nogle INSERT-metoder kan du ikke opdatere et LONGVARCHAR/LONGNVARCHAR-felt fra SQL Server, når du bruger en ODBC-baseret linket server. (Problemfeltet, Beskrivelse, er en Salesforce.com TEXTAREA, som Salesforce.com ODBC-driveren rapporterer til SQL Server som en LONGNVARCHAR.)

Den eneste måde, vi har fundet til at indsætte store objektdata i Salesforce.com, er:

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

Formentlig lykkes denne metode, fordi laget i SQL Server, der gør indsigelse mod at indsætte LONGVARCHAR-data, ikke bruges. (Selvom denne metode stadig bruger en linket server og derfor Salesforce.com ODBC-driveren.)

Se også

  • Tips til brug af SQL Server med Salesforce
  • Brug af INSERT INTO fra SQL Server til at ændre Salesforce-data

  1. Hvordan genererer man en række tal mellem to tal?

  2. Hvordan MAKE_SET() virker i MariaDB

  3. Send og returner tilpasset array-objekt i ibatis og oracle i java

  4. Henter navnet på den aktuelle funktion inde i funktionen med plpgsql