Mam obiekt SQLClient.DataSet w VB.NET i chcę wstawić całą rzecz do tabeli programu SQL Server bez konieczności wykonywania następujących czynności :Czy jest możliwe wstawienie całej tabeli danych VB.NET do SQL Server na raz?
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
Ponieważ mam blisko milion wierszy (wszystkich bardzo chudy, więc to nie jest dużo miejsca), ja oczywiście nie chce uruchomić tę pętlę i wygenerować mln INSERT.
Wiem, że jedną z opcji jest użycie połączonego serwera podczas początkowego pobierania danych, ponieważ pochodzi on z innego serwera SQL i po prostu jest dostępny w INSERT. Jeśli jednak mam już dane w mojej aplikacji, czy istnieje skuteczniejszy sposób na wstawienie go luzem? Czy mogę jakoś przekazać DataTable jako parametr do SQL Server i mieć go posortować i wstawić wiersze?
To wydaje się być dokładnie to, co chciałem. Nie miałem pojęcia, że ta klasa istnieje - dzięki! – SqlRyan
Wstawił wszystkie miliony rekordów w około cztery sekundy - to jest idealne. Dzięki jeszcze raz! – SqlRyan