У меня есть таблица в базе данных, которая уже имеет 100 записей. Теперь мне нужно добавить еще 100 записей. Теперь какой объект мы должны использовать? будь то dataadapter или sqlbulkcopy?как навалом вставить в существующую таблицу базы данных с помощью ado.net 3.5
ответ
Если базовый поставщик ADO.Net поддерживает SQL-пакет, вы можете использовать DataAdapter. Если вы используете SQL-сервер, вы можете использовать SqlBulkCopy. SqlBulkCopy имеет преимущества в скорости, поскольку вы можете напрямую вставлять данные в базу данных, но работать только с SQL-сервером. Если вам нужно использовать пользовательские вставки, сохраненные procs или другие поставщики данных, вам нужно будет использовать DataAdapter. Метод .Update в DataAdapter работает в пакетном режиме по умолчанию, который отправляет много записей в базу данных за раз, является ли вставки на сервере вместо того, чтобы зацикливать записи по одному на клиенте.
Имейте в виду, что некоторые провайдеры не поддерживают пакетные режимы, как все.
Кроме того, для загрузки данных можно также посмотреть в SQL Server Intergration Services (SSIS)
Edit:
anishmarokey также делает очень хороший момент. Для обработки 100 записей на самом деле не имеет значения, как вы делаете вставки. Даже при циклировании записи и выполнение пользовательских SQL INSERT будут выполняться достаточно быстро.
Я думаю, sqlbulkcopy не нужен. sqlbulkcopy - вставить объемные (миллионные) данные.
Примечание: SqlBulkCopy - Платформа .NET Framework и .NET Framework поддерживает не все версии каждой платформы
Я предполагаю две вещи: то, что вы работаете с SQL Server, и что вы вставляете свои записи из внешнего файла. Вот пример кода T-SQL, что вам нужно - это довольно просто (ввести его прямо в окне запроса SQL в Mgmnt Studio):
BULK INSERT TableName
FROM 'C:\SomeDirectory\SomeFile.txt'
WITH
(
FIELDTERMINATOR = ',',
ROWTERMINATOR = '\n'
)
GO
ли 100 записей или 1 млн этого достаточно, чтобы легко нет причин не использовать Массовую вставку, если вы хотите импортировать из файла CSV. Если CSV не соответствует вашей структуре таблицы, тогда (что я делаю) создайте временную таблицу, выполните импорт и затем используйте INSERT (как показано ниже) для копирования из временной таблицы в вашу целевую таблицу, выбрав только полей или порядка, которые вам нужны.
Только в случае - если вы вставляете более 100 записей из другой таблицы или запроса, синтаксис:
Insert Into [dbName].[dbo].[TableName]
Select Field1, Field2...FieldN From OtherTableName Where {Some conditions}
Если вставка будет включать в себя поле Удостоверение является:
Set IDENTITY_INSERT TableName ON
GO
Insert Into [dbName].[dbo].[TableName] (Field1, Field2...FieldN)
Select Field1, Field2...FieldN From OtherTableName Where {Some conditions}
GO
Set IDENTITY_INSERT TableName OFF
GO
Обратите внимание, что вам нужно явно указать список полей вставки, если у вас есть поле идентификации, в котором вам не нужно делать это в противном случае.
- 1. Как навалом вставить с помощью Spring-Batch?
- 2. Вставить новую таблицу в существующую таблицу mysql?
- 3. Проблема с навалом вставить
- 4. Вставить столбец в существующую таблицу
- 5. Как вставить ссылку @ Html.Action в существующую таблицу с помощью jquery?
- 6. Как вставить данные в таблицу базы данных с помощью SqlCommand
- 7. Игнорировать существующую таблицу при обновлении базы данных?
- 8. вставить новый столбец в существующую таблицу SQL
- 9. Как вставить hashmap в таблицу базы данных?
- 10. Как вставить таблицу данных в таблицу базы данных SQL Server?
- 11. Как вставить массив в таблицу базы данных?
- 12. Как навалом вставить общий исходный массив в произвольную таблицу SQL
- 13. как перезаписать существующую таблицу из другой базы данных
- 14. Как вставить в существующую таблицу базы данных mysql с использованием фляги и sqlalchemy
- 15. Как вставить строки в существующую таблицу с каждым нажатием кнопки
- 16. Как вставить данные в существующую таблицу html в php?
- 17. ITextSharp вставить существующую таблицу в pdf-документ
- 18. Вставить в существующую таблицу со сложностями
- 19. Добавление пользователей в существующую таблицу базы данных в RoR webapp
- 20. Как преобразовать существующую таблицу базы данных sqlite в fts3?
- 21. Вставить конфликт вставки базы данных в динамических данных ASP.NET с помощью модели данных Entity ADO.NET
- 22. Вставить массив в таблицу базы данных
- 23. Как навалом вставить сложные объекты в базу данных SQL Server
- 24. Невозможно вставить в таблицу моей базы данных
- 25. Вставить массив в таблицу базы данных
- 26. Как вставить новый столбец в таблицу базы данных с помощью SqlDataAdapter и DataTable?
- 27. вставить NOT NULL столбца в существующую таблицу
- 28. Вставить результаты хранимой процедуры в существующую таблицу
- 29. нужно вставить в таблицу базы данных
- 30. C# Вставить запись в таблицу базы данных
+1 для хорошего объяснения :) – anishMarokey
Хорошее объяснение, что ваш последний пункт действительно зависит от стоимости туда и обратно. Если это тот же сервер или у них очень быстрое соединение, я бы согласился, но там есть переломный момент. – JoshBerke