Я не хороший программист SQL, у меня есть только основы, но я слышал о некоторых вещах BCP для быстрой загрузки данных. Я искал в Интернете, и похоже, что это утилита только для командной строки, а не то, что вы можете использовать в коде.
Дело в том, что я хочу иметь возможность очень быстро выполнять вставки и обновления в базе данных SQL Server 2008. Я хотел бы иметь функцию в базе данных, которая будет принимать:
- Имя таблицы, для которой я хочу выполнить операцию вставки / обновления для
- Имена столбцов, к которым я буду подавать данные
- Данные в формате CSV или что-то, что SQL может читать глупо быстро
- Флаг, указывающий, должна ли функция выполнять операцию вставки или обновления
Эта функция будет затем читать эту строку CSV и генерировать необходимый код для вставки / обновления таблицы.
Затем я написал бы код на C # для вызова этой функции, передав ему имя таблицы, имена столбцов, список объектов, сериализованных в виде строки CSV, и флаг вставки / обновления.
Как вы можете видеть, это должно быть как быстрым, так и общим, подходящим для любого проекта, работающего с большими объемами данных, и, таким образом, кандидатом в структуру моей компании.
Я правильно думаю? Это хорошая идея? Могу ли я использовать эту вещь BCP, и подходит ли она для каждого случая?
Как видите, мне нужны некоторые указания по этому вопросу ... заранее спасибо за любую помощь!