找不到Microsoft Access Driver(*.mdb)ODBC驱动程序的安装例程。请重新安装驱动

将代码部署到测试机器上,因为使用了OLEDB操作Excel,程序出现如下错误:

复制代码
  
  
System.InvalidOperationException: The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine. at System.Data.OleDb.OleDbServicesWrapper.GetDataSource(OleDbConnectionString constr, DataSourceWrapper& datasrcWrapper) at System.Data.OleDb.OleDbConnectionInternal..ctor(OleDbConnectionString constr, OleDbConnection connection) at System.Data.OleDb.OleDbConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningObject) at System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup) at System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) at System.Data.OleDb.OleDbConnection.Open() at System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet)
复制代码

其中,连接代码如下:


?
1
Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Excel 12.0 Xml;HDR=YES;

出现以上错误后,先安装一个组件,如果不行再设置IIS即可。

因为服务器上未安装Microsoft office,所以从官网上下载了一个包:AccessDatabaseEngine.exe

相关说明:

This download will install a set of components that facilitate the transfer of data between existing Microsoft Office files such as Microsoft Office Access 2007 (*.mdb and *.accdb) files and Microsoft Office Excel 2007 (*.xls, *.xlsx, and *.xlsb) files to other data sources such as Microsoft SQL Server. Connectivity to existing text files is also supported.

安装完成后,还需要在IIS连接池配置一个属性即可:

打开IIS-->找到与网站相对应的应用程序池-->高级设置-->常规-->启用32位应用程序的值为:True即可。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要从 Linux 上的 PHP 连接到 MS Access 远程 .mdb 文件,需要使用 ODBC(Driver for Microsoft Access)。 以下是连接步骤: 1. 安装 unixODBC 和 php-odbc 扩展 ``` sudo apt-get install unixodbc php-odbc ``` 2. 安装 ODBC Driver for Microsoft Access 下载适合您的系统的 ODBC Driver for Microsoft Access,并按照说明进行安装。 3. 配置 ODBC 数据源 使用命令行工具 odbcinst 配置 ODBC 数据源: ``` sudo odbcinst -i -d -f /usr/local/easysoft/access/odbc-access/driver/etc/odbcinst.ini ``` 其中 /usr/local/easysoft/access/odbc-access/driver/etc/odbcinst.ini 是您安装 ODBC Driver for Microsoft Access 后的 odbcinst.ini 文件路径。 4. 配置 DSN(数据源名称) 使用命令行工具 odbcconf 配置 DSN: ``` sudo odbcconf -a -s "accessdsn" -f /usr/local/easysoft/access/odbc-access/driver/etc/odbc.ini -c "DSN=accessdsn|DBQ=/path/to/your/access/database.mdb" ``` 其中 /path/to/your/access/database.mdb 是您要连接的远程 .mdb 文件路径。 5. 编写 PHP 代码 使用 PHP 的 odbc_connect 函数连接到 MS Access 数据库: ```php $conn = odbc_connect("accessdsn", "", ""); if (!$conn) { exit("连接数据库失败!"); } ``` 注意,您需要将 "accessdsn" 更改为您在步骤 4 中配置的 DSN 名称。 6. 查询数据 使用 PHP 的 odbc_exec 函数查询数据,例如: ```php $result = odbc_exec($conn, "SELECT * FROM table_name"); while ($row = odbc_fetch_array($result)) { echo $row["column_name"]; } ``` 以上是从 Linux 上的 PHP 连接到 MS Access 远程 .mdb 文件的步骤。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值