首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >读取excel时出现此错误

读取excel时出现此错误
EN

Stack Overflow用户
提问于 2010-05-04 11:09:46
回答 2查看 586关注 0票数 0

我有密码

代码语言:javascript
复制
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.

EN

回答 2

Stack Overflow用户

发布于 2010-05-04 11:24:07

确保您正在构建32位应用程序,否则不应该工作,因为Microsoft.ACE.OLEDB.12.0只适用于x86平台

如果这对http://support.microsoft.com/kb/209805没有帮助的话

票数 0
EN

Stack Overflow用户

发布于 2010-05-04 11:24:35

它看起来可能是允许在数据库中查询Excel数据的组件,或者在您的计算机上丢失或注册错误。

在这个链接中有一些可能有用的说明:http://support.microsoft.com/kb/209805

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2764702

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档