我有一個Web應用程序的SQL服務器數據庫,我的要求是從一個源數據庫讀取2-3個表數據並將數據插入到目標數據庫中。我的輸入將是一個名稱和一個ID,基於此我必須從源數據庫中讀取數據,並且必須驗證相似的名稱是否已存在於目標數據庫中。我必須通過C#Windows應用程序或Web應用程序來完成此操作。將SQL Server數據從一個數據庫導出到另一個數據庫
到目前爲止,在我的研究中,人們推薦使用SqlBulkCopy或SSIS包,我嘗試使用以下代碼傳輸一個表數據。
using (SqlConnection connSource = new SqlConnection(csSource))
using (SqlCommand cmd = connSource.CreateCommand())
using (SqlBulkCopy bcp = new SqlBulkCopy(csDest))
{
bcp.DestinationTableName = "SomeTable";
cmd.CommandText = "myproc";
cmd.CommandType = CommandType.StoredProcedure;
connSource.Open();
using (SqlDataReader reader = cmd.ExecuteReader())
{
bcp.WriteToServer(reader);
}
}
我現在面臨的問題是,我必須複製2點表的數據,是根據表1,表2值像ID(主鍵)的變化,我在SqlDataReader的更新這一點,所以爲了在目標數據庫中獲得這個新ID,我必須先插入一個表數據,然後獲取ID,然後在我的reader對象中更新此ID,然後再執行另一個SqlBulkCopy,這看起來不像是理想的方式做這個,有沒有其他的做這個?
您可以指定兩個數據庫是否在同一個SQL實例上? –
沒有不在同一個實例 – user1890098