У меня есть SQLClient.DataSet в VB.NET, и я хочу вставить все это в таблицу SQL Server без необходимости делать следующее:
For Each dr as Datarow in MyDataset
Dim sc As New SqlCommand("INSERT INTO MyNewTable " & _
"VALUES (@column1, @column2)", MyDBConnection)
sc.Parameters.AddWithValue("@column1", dr.Item(0))
sc.Parameters.AddWithValue("@column2", dr.Item(1))
sc.ExecuteNonQuery()
Next
Поскольку у меня есть около миллиона строк (все довольно узкие, поэтому места не так много), я, очевидно, не хочу запускать этот цикл и генерировать миллион операторов INSERT.
Я знаю, что одним из вариантов является использование связанного сервера при первоначальном извлечении данных, поскольку он поступает с другого SQL Server, и просто отправьте его на INSERT оттуда. Однако, если у меня уже есть данные в моем приложении, есть ли более эффективный способ их массовой вставки? Могу ли я как-то передать DataTable в качестве параметра в SQL Server и заставить его разобраться и вставить строки?