我有一个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