I'd like to insert CSV data into a SQL Server database at one time. I know about BULK INSERT but I need to select some fields only. So I try INSERT INTO
like below -
try
{
OleDbConnection myOleDbConnection = new OleDbConnection("Provider=SQLOLEDB;Data Source=ServerName;Integrated Security=SSPI;Initial Catalog=DBName;User ID=sa;Password=password");
myOleDbConnection.Open();
string strSQL = null;
strSQL = "INSERT INTO " + strTable + "(" + M_ItemCode + "," + M_ItemDesc + "," + M_UOM + ") " + "SELECT " + M_ItemCode + "," + M_ItemDesc + "," + M_UOM + " FROM [Text;DATABASE=E:\temp\\Item.csv]" ;
OleDbCommand cmd = new OleDbCommand(strSQL, myOleDbConnection);
return (cmd.ExecuteNonQuery() == 1);
}
catch (Exception ex)
{
Common.ShowMSGBox(ex.Message, Common.gCompanyTitle, Common.iconError);
return false;
}
I got the error
Invalid object name 'Text;DATABASE=E:\temp\Item.csv'.
Is my syntax wrong?