利用udl文件如何打开有密码的access数据库?
精华贴之9给出了如何连接没有密码的access数据库的方法,仿照这种做法,在连接选项卡中输入登陆数据库的用户名(其实知道密码谁都可以打开啊?应该与用户名没有关系吧?)然后点击“测试连接”不成功;将用户名和密码空着,在Labview界面下输入用户名和密码(DB Tools Open Connection.vi)仍然不成功。我觉得使用udl来带来本地access数据库确实是一个简洁的方法,因为我没有对数据库编程的任何经验。我查阅了Database Connectivity Toolset User Manual (http://digital.ni.com/manuals.nsf/websearch/F0E03761C7F4ACB486256A3E00509BA9?OpenDocument&node=132090_US),里面没有提到有密码的情况。
哪位兄弟可以解答一下?谢谢! 下面的文字是从别的地方看到的,我目前还看不明白,放到这里吧:
通过调用数据源的 方法,建立和数据库的操作,但是在路径变化的情况下,总是要重新设置ODBC,
在连接的时候使用connectiongstring,
给你个连接sql server 2000 northwind的例子:
Driver={SQL Server};Server=faust;DATABASE=NorthWind;Uid=administratorwd=5475;
再来补充一些:
1.关于上面提到的 Connection String,根据数据库的不同(SQL Server、Access、Oracle...)以及连接方式的不同(ODBC、OleDb...)而不同。下面的网站几乎列出了所有的 Connection String:
★http://www.connectionstrings.com/★ 各位大侠周末都在休息吧,等待回复中…… 双击这个UDL文件,里面有一个可以输入密码的地方,老兄您看不同的选项卡,里面一定有的,我见过,这个输入下面应该还有一个输入的,然后应该有一个测试连接的按钮,您尝试一下,好运! 我试过这种方法,不行。没有密码Access数据库可以"测试连接成功",加一个密码之后就不能通过udl的方式打开了。前后仅仅是有无密码的区别。
步骤如下:
1、在电脑桌面上新建一个txt文件,将扩展名改为.udl,名字随便起;
2、双击上面创建的udl文件,在“提供程序”选项卡内选择“Microsoft Jet 3.51 OLE DB Provider”或“Microsoft Jet 4.0 OLE DB Provider”或“Microsoft Office 12.0 Access Database Engine OLE DB Provider”或“Microsoft OLE DB for ODBC Drivers”;精华贴之9选择的是“Microsoft Jet 4.0 OLE DB Provider”;
3、access没有密码时,“提供程序”选择“Microsoft Jet 4.0 OLE DB Provider”或“Microsoft Office 12.0 Access Database Engine OLE DB Provider”均可连接成功。我知道在“连接”选项卡的第2点内可以输入密码,不管“提供程序”是哪一种,点"测试连接"时报“测试连接失败,因为初始化提供程序时发生错误。无法启动应用程序。工作组信息文件丢失,或是已被其它用户以独占方式打开”。
请问,你是怎么成功实现有密码时成功连接的? 试了半天,通过ODBC数据管理器,将Access文件设为本地的数据源后(可以保存密码),然后再用udl的方式就可以连接(“提供程序”选择“Microsoft OLE DB for ODBC Drivers”),只要ODBC把密码保存了,这个时候有没有密码都可以连接。
这种方法太复杂了,哪位高手可以提供一种通用的、简洁的方法?
搞来搞去,实在太复杂…… 试了半天,通过ODBC数据管理器,将Access文件设为本地的数据源后(可以保存密码),然后再用udl的方式就可以连接(“提供程序”选择“Microsoft OLE DB for ODBC Drivers”),只要ODBC把密码保存了,这个时候有没有密码都可以连接。
这种方法太复杂了,哪位高手可以提供一种通用的、简洁的方法?
搞来搞去,实在太复杂…… 不用这样麻烦,其实用udl和dsn都是非常麻烦的事情,而且容易被破解,比如你的dsn或者udl文件被删除了,那就无法操作了!
最简单的是用语言搞定,不知道大伙还记得我提交一个应用于lab sql的不用建立dsn的程序??
现在我提交一个应用于数据库工具包的程序,同样是不用建立dsn和udl,而且可以非常简单的把密码问题搞定。是否期待此程序呢??如果感兴趣,我就提交上来。:victory: wdyjz兄,当然感举了.期待中....... 非常感兴趣!最好再给些详细的例程…… http://www.cpubbs.com/blog?1288/action_viewspace_itemid_410.html
非常详细的例程,已经测试过了,数据库密码设置为:123,程序就是对这个设置了密码的数据库进行操作。 嗯,这种方法确实很方便。Database Connectivity Toolset User Manual 提了一下,但是没有给出例子。
谢谢!
wdyjz,厉害,太有才了…… https://www.connectionstrings.com/access-2007/
Standard security
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\myFolder\myAccessFile.accdb;
Persist Security Info=False;
With database password
This is the connection string to use when you have an Access 2007 - 2013 database protected with a password using the "Set Database Password" function in Access.
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\myFolder\myAccessFile.accdb;
Jet OLEDB:Database Password=MyDbPassword;
Some reports of problems with password longer than 14 characters. Also that some characters might cause trouble. If you are having problems, try change password to a short one with normal characters.
Note! Reports say that a database encrypted using Access 2010 - 2013 default encryption scheme does not work with this connection string. In Access; try options and choose 2007 encryption method instead. That should make it work. We do not know of any other solution. Please get in touch if other solutions is available!
DataDirectory functionality
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\myAccessFile.accdb;
Persist Security Info=False;
页:
[1]