1

我的意图是将 excel 数据复制到 SQL Server Compact Edition 中。

我从这里阅读了 SQL Server Compact 和 SQL Server 之间的区别,但找不到。

另外,要知道 SqlBulkCopy 的构造函数接受 SqlConnection 的参数,而不是 SqlCeConnection。

这是我的代码:

public void importDataFromExcel(string excelFilePath)
{
        string sSQLTable = "Inflations";
        string myExcelDataQuery = "Select CUSIP,FM,TNT,CPI_INDEX from [Sheet1$]";
        string sExcelConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + excelFilePath + ";Extended Properties=" + "\"Excel 8.0;HDR=YES;\"";
        string sSqlConnectionString = "Data Source=C:\\Users\\abc\\Documents\\datafile.sdf;Password=12345;";

        OleDbConnection OleDbConn = new OleDbConnection(sExcelConnectionString);
        OleDbCommand OleDbCmd = new OleDbCommand(myExcelDataQuery, OleDbConn);
        OleDbConn.Open();
        OleDbDataReader dr = OleDbCmd.ExecuteReader();

        SqlBulkCopy bulkCopy = new SqlBulkCopy(sSqlConnectionString);
        bulkCopy.DestinationTableName = sSQLTable;

        while (dr.Read())
       {
            bulkCopy.WriteToServer(dr);
        }
        OleDbConn.Close();
} 
4

2 回答 2

2

您可以使用我的 SqlCeBulkCopy 库,该库可通过 NuGet for SQL CE 4.0 获得,或者在此处提供:https ://sqlcebulkcopy.codeplex.com/

于 2013-05-10T12:32:37.693 回答
0

我认为这个线程与您的问题有关。您还可以查看library,建议在该对话中使用。

于 2013-05-10T12:30:06.013 回答