我有密码
string conn = @"Provider=Microsoft.ACE.OLEDB.12.0;DSN=Excel Files;DBQ=" + strSheetPath + @";DriverId=1046;FIL=excel 12.0;MaxBufferSize=2048;PageTimeout=5;";
//string conn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + strSheetPath +";Extended Properties=Excel 12.0 Xml;HDR=YES;IMEX=1";
string destinationConnectionString = ConfigurationManager.ConnectionStrings["KGD6DBConnectionString"].ConnectionString;
string query = "Select * From [Sheet1$]";
using (var myConnection = new OleDbConnection(conn))
using (var destinationConnection = new SqlConnection(destinationConnectionString))
using (var bulkCopy = new SqlBulkCopy(destinationConnection))
{
//Map first column in source to second column in sql table (skipping the ID column).
//Excel schema[CompanyName,Phone] Table schema[ShipperID, CompanyName, Phone]
bulkCopy.ColumnMappings.Add(0, 1);
bulkCopy.ColumnMappings.Add(1, 2);
bulkCopy.ColumnMappings.Add(2, 3);
bulkCopy.ColumnMappings.Add(3, 4);
bulkCopy.ColumnMappings.Add(4, 5);
bulkCopy.ColumnMappings.Add(5, 6);
bulkCopy.ColumnMappings.Add(6, 7);
bulkCopy.ColumnMappings.Add(7, 8);
bulkCopy.ColumnMappings.Add(8, 9);
bulkCopy.ColumnMappings.Add(9, 10);
bulkCopy.ColumnMappings.Add(10, 11);
bulkCopy.ColumnMappings.Add(11, 12);
bulkCopy.ColumnMappings.Add(12, 13);
bulkCopy.ColumnMappings.Add(13, 14);
bulkCopy.ColumnMappings.Add(14, 15);
bulkCopy.ColumnMappings.Add(15, 16);
bulkCopy.ColumnMappings.Add(16, 17);
bulkCopy.ColumnMappings.Add(17, 18);
bulkCopy.ColumnMappings.Add(18, 19);
bulkCopy.ColumnMappings.Add(19, 20);
bulkCopy.ColumnMappings.Add(20, 21);
bulkCopy.ColumnMappings.Add(21, 22);
bulkCopy.ColumnMappings.Add(22, 23);
bulkCopy.ColumnMappings.Add(23, 24);
bulkCopy.DestinationTableName = "dbo.sampleInventory";
using (var myCommand = new OleDbCommand(query, myConnection))
{
myConnection.Open();
destinationConnection.Open();
var myReader = myCommand.ExecuteReader();
while (myReader.Read())
{
bulkCopy.WriteToServer(myReader);
}
}
}
return (new DataTable());在连接开启线上出现错误。
错误:找不到可安装的ISAM.
发布于 2010-05-04 11:24:07
确保您正在构建32位应用程序,否则不应该工作,因为Microsoft.ACE.OLEDB.12.0只适用于x86平台
如果这对http://support.microsoft.com/kb/209805没有帮助的话
发布于 2010-05-04 11:24:35
它看起来可能是允许在数据库中查询Excel数据的组件,或者在您的计算机上丢失或注册错误。
在这个链接中有一些可能有用的说明:http://support.microsoft.com/kb/209805
https://stackoverflow.com/questions/2764702
复制相似问题