Microsoft-Query系统兼容问题请教

我之前在winxp系统下使用excel2003创建的Microsoft-Query查询,最近在新换的64位win10(或win11)电脑上刷新查询出现了问题,如果数据源来自其他excel文件没问题,如果数据源和返回的查询结果在同一eccel文件(不同工作表)中,使用excel2003打开工作表刷新查询数据会提示odbc excel驱动程序登录失败,数据源正在被其他用户以独占方式打开(当然该excel文件正在被自己打开,因为返回的查询结果在该文件中)(见截图)。使用64位或32位excel2021打开xls文件刷新查询数据(已创建32位ODBC excel驱动)会提示:ODBC excel drive登录失败,不可识别的数据库格式。请教解决办法?

img

欢迎提出microsoft技术问题,你检查文件夹属性了吗,是否是everyone,并且Run As Administrator。我认为不兼容的可能性较大,这个不是microsfot query,是一种和powerbi一样的query方式,因为版本太老得到,往后gpt回复的不一定可行。如果你的query没有办法重新编写,那想迁移到win11或者win10版本还是比较麻烦的。
这是来自microsoft mvp Phoenix, AZ的一个方法可以试一试:Explorer > View > Options > View > and uncheck the various Hide options except for the one about operating system files.
或者你点击我们的论坛专区,以英文的沟通方式,会有人尽快回复你的:https://answers.microsoft.com/en-us/

1、升级到更高版本的Excel并使用Power Query代替Microsoft Query查询,这是一种更先进的数据分析工具,可以更好地支持新的操作系统。
2、尝试在新的系统上使用Excel 2003中的Microsoft Query查询时,确保已经正确安装了ODBC excel驱动程序。可以尝试重新安装ODBC excel驱动程序并检查其版本是否与您的操作系统兼容。
3、对于“不可识别的数据库格式”错误,可以尝试将Excel文件另存为xlsx格式,重新打开文件并刷新查询以查看是否可以解决该问题。这是因为Excel 2003使用的是xls格式,而新的Excel版本使用的是更先进的xlsx格式。

以下答案由GPT-3.5大模型与博主波罗歌共同编写:
根据您提供的信息,问题可能是由于Microsoft Query在64位环境下无法正确地使用32位ODBC驱动程序导致的。

为了解决这个问题,您可以尝试以下解决步骤:

  1. 在64位系统上安装32位ODBC驱动程序:

a. 在开始菜单中搜索“ODBC数据源(32位)”并打开它。

b. 在“ODBC数据源管理员”窗口中选择“系统DSN”选项卡。

c. 点击“添加”按钮,并选择“Microsoft Excel驱动程序(*.xls)”作为ODBC驱动程序。

d. 输入数据源名称和描述信息,选择要连接的Excel文件,并设置其他必要的选项。

e. 点击“测试连接”按钮,确保该驱动程序可以正常连接到Excel文件。

  1. 在Excel中使用Power Query替代Microsoft Query:

Power Query是一种强大的数据提取和转换工具,它可以轻松地连接不同类型的数据源,并在Excel中进行数据分析和报告。如果您的数据源来自其他Excel文件,建议使用Power Query来代替Microsoft Query。

  1. 将查询结果保存为新的Excel文件:

如果无法解决Microsoft Query在64位系统下的兼容性问题,您可以将查询结果保存为新的Excel文件,并在64位环境中使用该文件进行操作。

示例代码:

这里提供一段Python脚本,可以使用pyodbc模块连接Excel文件,并执行查询操作:

import pyodbc

# 连接Excel文件,使用32位ODBC驱动程序
conn = pyodbc.connect('Driver={Microsoft Excel Driver (*.xls)};DBQ=c:\\path\\to\\file.xls')

# 执行SQL查询语句
cursor = conn.cursor()
cursor.execute('SELECT * FROM [Sheet1$]')

# 获取查询结果
results = cursor.fetchall()

# 打印查询结果
for row in results:
    print(row)

说明:如果您正在使用64位环境,则需要使用64位的Python和64位的ODBC驱动程序。同时,需要根据实际情况修改连接字符串中的Excel文件路径和查询语句。
如果我的回答解决了您的问题,请采纳!

个问题可能是由于32位ODBC excel驱动程序在64位操作系统上的不兼容性所导致的。您可以尝试以下解决方法:

在64位操作系统上使用64位ODBC excel驱动程序,尝试使用Excel 2010或更高版本打开电子表格文件,然后刷新查询。

尝试在64位操作系统上使用32位版本的Microsoft Office安装程序,并安装32位ODBC excel驱动程序。这样可以使32位的Microsoft Query正常工作。

尝试使用其他的查询工具,如Power Query或SQL Server Management Studio,来连接和查询Excel文件中的数据源。这些工具对32位和64位操作系统都有支持,并且可能提供更好的性能和更好的用户体验。

希望这些解决方法能够帮助您解决这个问题。如果还有其他的问题,请随时联系我。