Для моей стажировки я должен выполнить некоторые SQL-запросы.как выполнить много запросов за один раз
Я стараюсь это трансферт данные из файла CSV в базу данных SQL-сервера
string str = Path.GetFullPath(".");
String conn = @"Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties=""Text;HDR=No;FMT=Delimited"";Data Source="+str+"";
string strCnx = "Database=" + ConfigurationManager.AppSettings["base"] + ";data source=" + ConfigurationManager.AppSettings["servername"] + ";User Id=" + ConfigurationManager.AppSettings["user"] + ";Password=" + ConfigurationManager.AppSettings["password"] + ";Connect Timeout=10";
// Open a sourceConnection to the AdventureWorks database.
//using (OleDbConnection sourceConnection = new OleDbConnection(strCnx))
{
//sourceConnection.Open();
// Get data from the source table as a SqlDataReader.
OleDbConnection cn = new OleDbConnection(conn);
OleDbCommand commandSourceData = new OleDbCommand("SELECT * FROM [" + ConfigurationManager.AppSettings["csvname"] + "]", cn);
OleDbDataAdapter da = new OleDbDataAdapter(commandSourceData);
cn.Open();
OleDbDataReader reader = commandSourceData.ExecuteReader();
// Open the destination connection. In the real world you would
// not use SqlBulkCopy to move data from one table to the other
// in the same database. This is for demonstration purposes only.
using (SqlConnection destinationConnection = new SqlConnection(strCnx))
{
destinationConnection.Open();
// Set up the bulk copy object.
// Note that the column positions in the source
// data reader match the column positions in
// the destination table so there is no need to
// map columns.
using (SqlBulkCopy bulkCopy = new SqlBulkCopy(destinationConnection))
{
bulkCopy.DestinationTableName = "GudsisUser";
bulkCopy.WriteToServer(reader);
}
Console.WriteLine("Press Enter to finish.");
Console.ReadLine();
}
но приложение возвращать сообщение об ошибке: Невозможно разобрать значение строки в NCHAR значение
I понятия не имею, если моя программа является правильным или нет
Какой «запрос» вы говорите, пытаетесь ли вы вставлять записи по одному? – Habib
Вы можете сделать все изменения данных в DataSet и скрыть фактический процесс обновления или вставки, но в конце он всегда будет выполнять инструкции INSERT или UPDATE в вашей базе данных. – Filburt
Опубликовать код. ваш вопрос действительно расплывчатый и трудный для понимания без какого-либо кода. – Paolo