1

あるデータベースからクエリの結果を接続し、ac# アプリケーションで別のデータベースに挿入するにはどうすればよいですか?

これは私がこれまで持っているものですが、うまくいきません。

// select from first database
string sCMD_All = "SELECT * FROM table";
SqlDataAdapter da = new SqlDataAdapter();
DataSet ds = new DataSet();

using (SqlConnection myConn = new SqlConnection(ConnectionString))
{
    using (SqlCommand myCommand = new SqlCommand(sCMD_All, myConn))
    {
        myConn.Open();
        SqlDataReader reader = myCommand.ExecuteReader();
        da.Fill(ds);
        myConn.Close();
    }
}
DataTable sqTable = ds.Tables[0];

//insert into 2nd database
DataTable newTable = new DataTable();
newTable = sqTable;
using (SqlConnection myConn = new SqlConnection(ConnectionString_M))
{
    string sCMD_I = "INSERT INTO tableNew @newTable";

    using (SqlCommand myCommand = new SqlCommand(sCMD_I, myConn))
    {
        myConn.Open();
        SqlDataReader reader = myCommand.ExecuteReader();
        myConn.Close();
    }
}
4

1 に答える 1

0
var commandText = 
    @"insert into [server].[database2].[schema].[table] (col1, col2, ...)
    select col1, col2, ... from [server].[database1].[schema].[table]";

using (var connection = new SqlConnection(connectionString))
{
    using (var command = new SqlCommand(commandText, connection))
    {
        connection.Open();
        command.ExecuteNonQuery();
    }
}

: データベースが異なるサーバーにある場合は、サーバーをリンクする必要があります。

exec sp_addlinkedserver @server = 'server2'

于 2013-02-04T14:41:16.510 に答える