Ошибка заключается в том, что свойство destinationtablename должно быть установлено перед вызовом этого метода в C#
Я хочу скопировать excel в таблицу базы данных.Но эта линия - ошибка.
bulkCopy.WriteToServer(dt);
А ошибка-это DestinationTableName :
Свойство DestinationTableName должно быть установлено перед вызовом этого метода.
Я хочу скопировать эту таблицу:
ИМЯ МОЕЙ БАЗЫ ДАННЫХ:READTEST
Название таблицы:студенты
Что я уже пробовал:
public partial class Form1 : Form { public Form1() { InitializeComponent(); }
Gerry Schmitz
копировать.DestinationTableName = имя символа;
[no name]
Огромное спасибо.Я пишу bulkCopy.DestinationTableName = "студенты"; и готово
ZurdoDev
Пожалуйста, опубликуйте в качестве решения.
Richard MacCutchan
Сделайте то, что говорит вам сообщение, и установите DestinationTableName в допустимое имя таблицы.
#realJSOP
Интересно, почему объект SqlBulkCopy автоматически не использует имя таблицы, указанное в объекте DataTable... Недавно я реализовал общий метод BulkInsert и столкнулся с той же проблемой. Я просто предположил, что объект SqlBulkCopy будет делать то, что правильно.
Richard MacCutchan
Remarks If DestinationTableName has not been set when WriteToServer is called, an ArgumentNullException is thrown. If DestinationTableName is modified while a WriteToServer operation is running, the change does not affect the current operation. The new DestinationTableName value is used the next time a WriteToServer method is called. DestinationTableName is a three-part name (<database>.<owningschema>.<name>). You can qualify the table name with its database and owning schema if you choose. However, if the table name uses an underscore ("_") or any other special characters, you must escape the name using surrounding brackets as in ([<database>.<owningschema>.<name_01>]). For more information, see Database Identifiers. You can bulk-copy data to a temporary table by using a value such as tempdb..#table or tempdb.<owner>.#table for the DestinationTableName property.