我正在尝试将Excel
中的数据复制到SQL Server
中的新表格中。
我正在使用的SQL代码在服务器管理器中工作,将数据复制到新创建的表和&似乎在这里工作,除了新表没有出现在我的数据库中并再次运行代码似乎产生"Table already exists"
错误。
关于我做错了什么的任何想法?
代码如下:
try
{
string sqlConnectionString = string.Format("Data Source=XXXX\\SQLEXPRESS;Initial Catalog=DbName;" + "Integrated Security=SSPI; User Instance=False");
string excelConnectionString = string.Format("provider=Microsoft.ACE.OLEDB.12.0;Data Source =C:\\user\\ExcelFileName.xlsx; Extended Properties ='Excel 12.0 xml; HDR=YES;IMEX=1'");
using (SqlConnection SQLconnection =
new SqlConnection(sqlConnectionString))
using (OleDbConnection connection =
new OleDbConnection(excelConnectionString))
{
OleDbCommand command = new OleDbCommand
("SELECT * INTO dbo.newTable FROM [SheetName$];", connection);
connection.Open();
using (OleDbDataReader dr = command.ExecuteReader())
using (SqlBulkCopy bulkcopy =
new SqlBulkCopy(SQLconnection))
{
bulkcopy.DestinationTableName = "dbo.newTable";
bulkcopy.WriteToServer(dr);
Console.WriteLine("The data has been exported from Excel to SQL.");
Console.ReadLine();
}
connection.Close();
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
Console.ReadLine();
}
答案 0 :(得分:0)
您认为在将Excel数据插入数据表之前,您没有检查表名。你可以浏览下面的代码。
delete