【发布时间】:2017-10-25 07:00:18
【问题描述】:
我想硬编码连接到 Access 数据库的凭据。
我的连接字符串目前看起来像
$strConn = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = $dbName;
这很好用,但系统会提示我输入“用户名”和“密码”。我研究了 Access 连接字符串,但我只能找到一个包含密码(不是用户)的字符串
$strConn = "Provider = Microsoft.Jet.OLEDB.4.0; Data Source=c:\App1\Your_Database_Name.mdb; Jet OLEDB:Database Password=Your_Password"
我尝试过使用它(以及用户/用户名/uid 等的组合),但没有找到任何可行的方法。
这是弹出的窗口(服务名称会自动填充):
看起来类似于:Oracle ODBC Driver Connect always asking for password
我认为这与链接到 oracle 数据库的 Access 数据库有关。这不是我能控制的吗?
【问题讨论】:
-
您的安全状况究竟如何?它是加密的 .mdb、带有工作组文件的安全 .mdb 还是平面 .mdb?您的 .mdb 中是否有任何链接表? (如果是这样,您可能希望直接连接到这些链接表,而不是通过 Access)。不输入登录信息,不出现这个提示,可以使用access数据库吗?
-
您是否尝试将 Access 表链接到 Oracle?我会尝试相反的。将表迁移到 Oracle 并将其链接回 Access。
-
@ErikvonAsmuth 我不确定它是什么类型的 .mdb。我认为它不安全,因为打开它时不会提示我输入凭据。但是,它确实有链接表。当我尝试打开一个时,我会看到与上面相同的“Oracle ODBC 驱动程序连接”窗口。如何直接访问链接表?可能值得一提的是,这个数据库属于一家大公司,我对它几乎没有控制权,所以我很难像其他一些 cmets 建议的那样对其进行重组。
-
我也尝试过使用 ODBC,但是会弹出相同的提示
$strConn = "Provider=MSDASQL;FileDSN=$db;;UID=USERNAME;PWD=PASS;"我必须为 mdb 创建一个数据源名称,但要使用它。
标签: sql powershell ms-access connection-string oledb