简体   繁体   中英

Inserting data to SQL server using Sqlbulkcopy

i'm having a error message sent everytime i try to copy data from a data table to an sql database using Sqlbulkcopy. This is the code i'm using:

static void InsertDataIntoSQLServerUsingSQLBulkCopy(DataTable csvFileData)
    {
        using (SqlConnection dbConnection = new SqlConnection(@"Data Source=DESKTOP-LNCGI78\SQLEXPRESS;Initial Catalog=Testdatabase;Integrated Security=SSPI;"))
        {
            dbConnection.Open();
            using (SqlBulkCopy s = new SqlBulkCopy(dbConnection))
            {
                s.DestinationTableName = "dbo.Table";
                foreach (var column in csvFileData.Columns)
                    s.ColumnMappings.Add(column.ToString(), column.ToString());
                s.WriteToServer(csvFileData);
            }
        }
    }

This is the error :System.InvalidOperationException: 'Cannot access destination table. i checked permissions to write in the table, all seems fine and i tried to insert some rows in it with success. I don't know what i'm missing or what i did wrong.

表一词是SQL Server中的保留词,因此您需要添加方括号:

s.DestinationTableName = "dbo.[Table]";

I had a similiar problem what I did is just s.DestinationTableName="[TableName]" . So no dbo.[TableName] just [TableName]

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM