MS Access 连接字符串中的硬编码凭据(受密码保护)
Hard code credentials in MS Access connection string (password protected)
我想对用于连接到 Access 数据库的凭据进行硬编码。
我的连接字符串目前看起来像
$strConn = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = $dbName;
这工作正常,但系统提示我输入 "User Name" 和 "Password"。我研究了 Access 连接字符串,但我只能找到一个包含密码(不是用户)
$strConn = "Provider = Microsoft.Jet.OLEDB.4.0; Data Source=c:\App1\Your_Database_Name.mdb; Jet OLEDB:Database Password=Your_Password"
我试过使用它(以及 user/username/uid 等的组合),但没有找到任何有效的方法。
这是弹出的 window(服务名称是自动填充的):
看起来类似于:Oracle ODBC Driver Connect always asking for password
我认为这与链接到 oracle 数据库的 Access 数据库有关。这不是我能控制的吗?
根据方便的参考页 ConnectionStrings.com,像这样传递 User Id=<username>
和 Password=<password>
,
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\mydatabase.mdb;User Id=admin;
Password=Pa$$w0rd;
您可以直接访问链接的 table,方法是使用其连接字符串并填写用户和密码。对于 Oracle,连接字符串结构可能因使用的提供程序而异。查看 ConnectionStrings.com 以获取选项列表(最有可能的选项是 Provider=OraOLEDB.Oracle;Data Source=MyOracleDB;User Id=myUsername; Password=myPassword;
)。
您可以通过在 Microsoft Access 中查询 MSysObjects 来获取链接 table 的当前连接字符串:
SELECT MSysObjects.Connect
FROM MSysObjects
WHERE MSysObjects.Name="MyLinkedTableName";
如果需要,您甚至可以更改连接字符串以包含您的用户名和密码(参见 this answer)。
但是请注意,最初在 Access 中链接 table 的人选择不包含用户名和密码。在不安全的 Access 数据库中包含用户名和密码可能会带来安全风险。
此外,请注意,如果您直接连接到 Oracle 数据库,则必须引用那里定义的 table 名称,并使用正确的 SQL 变体来查询它。
我想对用于连接到 Access 数据库的凭据进行硬编码。
我的连接字符串目前看起来像
$strConn = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = $dbName;
这工作正常,但系统提示我输入 "User Name" 和 "Password"。我研究了 Access 连接字符串,但我只能找到一个包含密码(不是用户)
$strConn = "Provider = Microsoft.Jet.OLEDB.4.0; Data Source=c:\App1\Your_Database_Name.mdb; Jet OLEDB:Database Password=Your_Password"
我试过使用它(以及 user/username/uid 等的组合),但没有找到任何有效的方法。
这是弹出的 window(服务名称是自动填充的):
看起来类似于:Oracle ODBC Driver Connect always asking for password
我认为这与链接到 oracle 数据库的 Access 数据库有关。这不是我能控制的吗?
根据方便的参考页 ConnectionStrings.com,像这样传递 User Id=<username>
和 Password=<password>
,
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\mydatabase.mdb;User Id=admin;
Password=Pa$$w0rd;
您可以直接访问链接的 table,方法是使用其连接字符串并填写用户和密码。对于 Oracle,连接字符串结构可能因使用的提供程序而异。查看 ConnectionStrings.com 以获取选项列表(最有可能的选项是 Provider=OraOLEDB.Oracle;Data Source=MyOracleDB;User Id=myUsername; Password=myPassword;
)。
您可以通过在 Microsoft Access 中查询 MSysObjects 来获取链接 table 的当前连接字符串:
SELECT MSysObjects.Connect
FROM MSysObjects
WHERE MSysObjects.Name="MyLinkedTableName";
如果需要,您甚至可以更改连接字符串以包含您的用户名和密码(参见 this answer)。
但是请注意,最初在 Access 中链接 table 的人选择不包含用户名和密码。在不安全的 Access 数据库中包含用户名和密码可能会带来安全风险。
此外,请注意,如果您直接连接到 Oracle 数据库,则必须引用那里定义的 table 名称,并使用正确的 SQL 变体来查询它。