コードを作成するコードを書くことができます。
ここで「MembershipProvider」データベースに対して実行しました:http:
//granadacoder.wordpress.com/2007/11/29/membershipprovider-helper-to-transfer-data/
ニーズに合わせて変更できます。
二重引用符と一重引用符を見てください。彼らは計画にモンキーレンチを投げます。
これは、より大きなコード例のプレビューです。
2番目のSQLサーバーで実行できるコードを作成することに注意してください。
select
'INSERT INTO dbo.aspnet_Applications ( ApplicationName,LoweredApplicationName,ApplicationId,[Description] ) values (' as [--Comment],
char(39) + t1.ApplicationName + char(39) , ',' ,
char(39) + t1.LoweredApplicationName + char(39) , ',' ,
char(39) + convert(varchar(38) , t1.ApplicationId ) + char(39) , ',' ,
char(39) + t1.Description + char(39)
, ')'
FROM
dbo.aspnet_Applications t1
これは、CompanyName列とAddress列で一重引用符を処理し、PrimaryKeyに「存在しない場所」チェックがあるNorthwindの例です。このテーブルにはint/numberがありませんが、一重引用符を削除するだけで機能することに注意してください。null値をチェックしたい場合、それはFax列に見られるような単純なcaseステートメントです。
Select 'INSERT INTO dbo.Customers ( CustomerID,CompanyName,ContactName,ContactTitle,[Address],City,Region,PostalCode,Country,Phone,Fax ) ' as [--Comment],
'SELECT ' ,
char(39) + t1.CustomerID + char(39) , ',' ,
char(39) + REPLACE(t1.CompanyName , char(39) , char(39) + '+' + 'char(39)' + '+' + char(39) ) + char(39) , ',' ,
char(39) + t1.ContactName + char(39) , ',' ,
char(39) + t1.ContactTitle + char(39) , ',' ,
char(39) + REPLACE(t1.[Address] , char(39) , char(39) + '+' + 'char(39)' + '+' + char(39) ) + char(39) , ',' ,
char(39) + t1.City + char(39) , ',' ,
char(39) + t1.Region + char(39) , ',' ,
char(39) + t1.PostalCode + char(39) , ',' ,
char(39) + t1.Country + char(39) , ',' ,
char(39) + t1.Phone + char(39) , ',' ,
Fax = case
when t1.Fax is null then 'null'
else char(39) + t1.[Fax] + char(39)
end
, ' Where not exists (select null from dbo.Customers innerC where innerC.CustomerID = ' + char(39) + t1.CustomerID + char(39) + ')'
FROM
dbo.Customers t1