【问题标题】:How to access mdb file in windows10 by powershell?如何通过powershell访问windows 10中的mdb文件?
【发布时间】:2019-04-11 09:21:37
【问题描述】:

按照以下链接中显示的建议, 我创建了一个 powershell 脚本来访问 mdb 文件。

https://devblogs.microsoft.com/scripting/hey-scripting-guy-can-i-query-a-microsoft-access-database-with-a-windows-powershell-script/

这是:

    $cn = new-object -comobject ADODB.Connection
    $rs = new-object -comobject ADODB.Recordset
    $cn.Open("Provider = Microsoft.Jet.OLEDB.4.0;Data Source = $path")

但是,我已将计算机更新到 Windows 10(64 位)并安装了 ACCESS 2016。powershell 脚本不再工作。它表明, Provider = Microsoft.Jet.OLEDB.4.0 未找到。

我已尝试更改 Provider = Microsoft.ACE.OLEDB.12.0 但这无济于事,因为它显示了与未找到提供程序相同的错误。

此外,我尝试使用 ACCESS 2016 打开它,它也没有帮助,因为它显示无法打开在以前版本中创建的数据库文件。

请帮忙....

【问题讨论】:

  • 如果你的 ACCESS 2016 也打不开文件,那肯定是有问题。您收到错误消息吗?您可以在另一个较旧的系统上进行测试,看看它是否确实打开了吗?
  • 你能分享你正在运行的代码吗?
  • @Theo 感谢您的回复。当我在 ACCESS 2016 中打开它时,它显示“无法打开使用以前版本的应用程序创建的数据库”。我的旧系统是Windows 7 with Access 2013,没有问题。
  • @Adam 我的代码就像我在链接中提供的一样。其中 $path 是 mdb 文件的路径。 $cn = new-object -comobject ADODB.Connection $rs = new-object -comobject ADODB.Recordset $cn.Open("Provider = Microsoft.Jet.OLEDB.4.0;Data Source = $path")
  • @HansUp 我的 MS Office 应该是 32 位的。我想知道如何检查我是否安装了 ACE 提供程序?如果我还没有安装,我应该在哪里找到它们?

标签: powershell ms-access


【解决方案1】:

感谢谁回答我的问题。 终于有了洞察力,自己找到了答案。

我从 Microsoft 搜索提供商并找到下面的链接。 https://www.microsoft.com/en-us/download/details.aspx?id=13255

安装 64 位版本后,我可以将以下代码与 Microsoft.ACE.OLEDB.12.0 提供程序一起使用。

$cn = new-object -comobject ADODB.Connection
$rs = new-object -comobject ADODB.Recordset
$cn.Open("Provider = Microsoft.ACE.OLEDB.12.0;Data Source = $path")

【讨论】:

    【解决方案2】:

    如果 Win 10 OS 64 位和 MS Office 32 位 / click2run ,请使用 32 位 Powershell ;)

    【讨论】:

      猜你喜欢
      • 2013-02-10
      • 1970-01-01
      • 1970-01-01
      • 2022-07-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-06
      • 1970-01-01
      相关资源
      最近更新 更多