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

Indsættelse af SQL Server-data i Salesforce med en markør

Denne blog giver et eksempel på overførsel af data fra en lokal SQL Server-tabel til Salesforce. Vi bruger Salesforce.com ODBC-driveren til at indsætte tre poster i Salesforce Product2-tabellen.

  1. Konfigurer en linket server, der opretter forbindelse til Salesforce.
  2. I SQL Server Management Studio skal du ændre Linked Server> Linked Server Properties> Server Options> RPC Out indstilling til Sand.
  3. Opret denne tabel i SQL Server:
    create table NewProducts ( "Name" nvarchar(30), ProductCode nvarchar(10), Description nvarchar(max))
    insert into NewProducts values ( 'Test1', 'TEST01', 'Test 1st description')
    insert into NewProducts values ( 'Test2', 'TEST02', '2nd description' )
    insert into NewProducts values ( 'Test3', 'TEST03', '3rd Test description')

    Du kan indsætte data i enhver af kolonnerne i Produkt2-tabellen, forudsat at du har de nødvendige tilladelser.

  4. Udfør følgende SQL:
    -- Declare a variable for each column you want to insert:
    declare @Name nvarchar(30)
    declare @ProductCode nvarchar(10)
    declare @Description nvarchar(max)
    
    -- Use a cursor to select your data, which enables SQL Server to extract
    -- the data from your local table to the variables.
    declare ins_cursor cursor for 
            select "Name", ProductCode, Description from NewProducts
        open ins_cursor
        fetch next from ins_cursor into @Name, @ProductCode, @Description -- At this point, the data from the first row
                                                                          -- is in your local variables.
    
        -- Move through the table with the @@FETCH_STATUS=0 
        while @@FETCH_STATUS=0
        Begin
    
             -- Execute the insert to push this data into Salesforce. Replace "SF_LINK" with the name of your Salesforce Linked Server.
            exec ('insert into Product2 ( "Name", ProductCode, Description ) Values (?, ?, ?)', @Name, @ProductCode ,@Description ) at SF_LINK
    
             -- Once the execution has taken place, you fetch the next row of data from your local table.
            fetch next from ins_cursor into @Name, @ProductCode, @Description
        End
    
        -- When all the rows have inserted you must close and deallocate the cursor.
        -- Failure to do this will not let you re-use the cursor.    
        close ins_cursor
        deallocate ins_cursor

Se også

  • Tips til brug af SQL Server med Salesforce

  1. Hvordan beregner jeg en løbende total i SQL uden at bruge en markør?

  2. Er det vigtigt at lukke mysql-forbindelsen?

  3. Kan ikke oprette forbindelse til lokal MySQL-server via socket '/tmp/mysql.sock

  4. Oracle SQL - Sum og grupper data efter uge