繁体   English   中英

MS Access连接字符串中的硬代码凭据(受密码保护)

[英]Hard code credentials in MS Access connection string (password protected)

我想对连接到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总是要求输入密码

我相信这与Access数据库链接到oracle数据库有关。 这是我的手吗?

您可以通过使用链接表的连接字符串并填写用户名和密码来直接访问链接表。 对于Oracle,连接字符串的结构可能因所使用的提供程序而异。 查看ConnectionStrings.com以获取选项列表(最可能的选项是Provider=OraOLEDB.Oracle;Data Source=MyOracleDB;User Id=myUsername; Password=myPassword; )。

您可以通过查询Microsoft Access中的MSysObjects获得链接表的当前连接字符串:

SELECT MSysObjects.Connect
FROM MSysObjects
WHERE MSysObjects.Name="MyLinkedTableName";

如果需要,您甚至可以更改连接字符串以包括您的用户名和密码(请参阅此答案 )。

但是,请注意,最初在Access中链接表的用户选择不包括用户名和密码。 在不安全的Access数据库中包含用户名和密码可能会带来安全风险。

另外,请注意,如果直接连接到Oracle数据库,则必须引用在那里定义的表名,并使用适当的SQL变体来查询它。

根据方便的参考页面ConnectionStrings.com ,像这样传递User Id=<username>Password=<password>

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\mydatabase.mdb;User Id=admin;
Password=Pa$$w0rd;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM