标签: aceoledb

'Microsoft.ACE.OLEDB.16.0'提供程序未在本地计算机上注册.(System.Data)

当我尝试通过MSSQL Server数据导入连接到任何Excel时出现此错误,即SSIS包"Microsoft.ACE.OLEDB.16.0"提供程序未在本地计算机上注册.(System.Data)它不是相同的版本我认为需要其他修补

sql-server oledb excel ssis aceoledb

83
推荐指数
8
解决办法
18万
查看次数

SSIS和64位Microsoft Access数据库引擎

我们的开发服务器具有64位SQL Server 2008 R2和SSIS.为了能够直接从T-SQL(via OPENROWSET)导入XLSX文件,我们在dev服务器上安装了Microsoft Access Database Engine Redistributable 64-bit.服务器已经安装了32位版本,因此我们使用/ passive开关安装它.

由于这样做,我们现有的包失败了.其中一个报道

该步骤未生成任何输出.返回值未知.进程退出代码是-1066598274.步骤失败了.

只是想知道是否有其他人已经成功配置他们的服务器,以便能够使用OPENROWSETXLSX文件,并在同一台服务器上也有SSIS,或者有人知道这种配置是否不可行?

编辑:我应该补充说,失败的包是从SQL代理作业运行的.当我通过SQL Server Management Studio连接到服务器的Integration Services Manager并运行包(通过导航到包,右键单击它并选择Run Package)时,它会成功执行.

sql-server ssis sql-server-2008-r2 aceoledb

6
推荐指数
1
解决办法
1093
查看次数

仅从 Excel (ACE OLEDB) 中获取特定列

我正在使用 ACE OLEDB 将 excel 文件加载到 DataTable 中。

我有一个我需要从文件中获取的列列表(列名)。

问题是我找不到任何关于如何将 Excel 中的特定列导入数据表的工作源。

c# asp.net oledb excel aceoledb

3
推荐指数
1
解决办法
2025
查看次数

两个程序试图读取excel一个成功一个失败相同的代码

我有两个彼此无关的程序,但是他们有一个相同的方法,他们尝试从excel文件中读取行.

计划1

    public DataTable GetExcelInfo(string filepath)
    {
        DataTable datatab = new DataTable();
        try
        {
            string connectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + filepath + ";Excel 8.0;IMEX=1;HDR=NO;TypeGuessRows=1;ImportMixedTypes=Text\\";
            using (OleDbConnection conn = new OleDbConnection(connectionString))
            {
                conn.Open();
                OleDbCommand cmd = new OleDbCommand("SELECT Format([F1], \"#\"), Format([F2], \"#\"), Format([F3], \"#\") FROM [Sheet1$]", conn);
                OleDbDataReader reader = cmd.ExecuteReader();
                while (reader.Read())
                {
                    string[] values = new string[3];                        
                    values[0] = reader.GetString(0);
                    values[1] = reader.GetString(1);
                    values[2] = reader.GetString(2);

                    DataRow dr = datatab.NewRow();
                    dr.ItemArray = values;
                    datatab.Rows.InsertAt(dr, i);
                    i++;
                }
            }
        } …
Run Code Online (Sandbox Code Playgroud)

c# excel winforms aceoledb

2
推荐指数
1
解决办法
63
查看次数

Microsoft ACE OLEDB 连接在有 166,110 行时创建空的 Excel

我正在用 C# 编程并使用oledbconnection. 这是标准的连接字符串,例如

using (OleDbConnection conn = new OleDbConnection(
          "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" +
           saveFilenameAndLocation + 
          ";Extended Properties='Excel 12.0 Xml;HDR=Yes'"
      ))  
Run Code Online (Sandbox Code Playgroud)

当行数不多时,这会成功并创建包含正确数据的 Excel 电子表格。但是,每当电子表格中的行数增加到很大时(例如,当前它在 166,110 行上失败),它会生成一个空电子表格,其中工作表选项卡名称设置为A266FF2A662E84b639DA

不可能重写它以便它不使用OLEDB连接,任何想法为什么当行大小增加时它不起作用?

c# oledb excel aceoledb

2
推荐指数
1
解决办法
4379
查看次数

标签 统计

aceoledb ×5

excel ×4

c# ×3

oledb ×3

sql-server ×2

ssis ×2

asp.net ×1

sql-server-2008-r2 ×1

winforms ×1