このブログでは、ローカルSQLServerテーブルからSalesforceにデータを転送する例を紹介しています。 Salesforce.com ODBCドライバーを使用して、SalesforceProduct2テーブルに3つのレコードを挿入しています。
- Salesforceに接続するリンクサーバーを構成します。
- SQL Server Management Studioで、リンクサーバー>リンクサーバーのプロパティ>サーバーオプション>RPC出力を変更します Trueに設定します。
- 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')
必要な権限があれば、Product2テーブルの任意の列にデータを挿入できます。
- 次の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
関連項目
- SalesforceでSQLServerを使用するためのヒント