为什么access中不能设置密码?

zhongasen 2009-08-15 04:05:59
在用oledb连接access数据库时,遇到这样的问题
当access没有设置密码时,成功连接
sqlca.dbms="OLE DB"
SQLCA.DBParm = "PROVIDER='Microsoft.Jet.OLEDB.4.0',DATASOURCE='test.mdb'
sqlca.autocommit=false


access设置了密码,且密码为123时,连接出错:
sqlca.dbms="OLE DB"
SQLCA.DBParm = "PROVIDER='Microsoft.Jet.OLEDB.4.0',DATASOURCE='test.mdb'"
sqlca.LogID="admin"
sqlca.LogPass="123"
sqlca.autocommit=false
求教为什么? 或者哪里写错了?
...全文
604 36 打赏 收藏 转发到动态 举报
写回复
用AI写文章
36 条回复
切换为时间正序
请发表友善的回复…
发表回复
aloxy 2009-10-22
  • 打赏
  • 举报
回复
上面是Db profile里的内容
以下是我的程序里的内容
// Profile ShopManagment
SQLCA.DBMS = "OLE DB"
SQLCA.AutoCommit = False
string conn
conn ="PROVIDER='Microsoft.Jet.OLEDB.4.0',DATASOURCE='"+GetCurrentDirectory ( )+"\shopmanagment.mdb'"
SQLCA.DBParm = conn
connect using sqlca;

如果密码没写错,估计是路径的问题
aloxy 2009-10-22
  • 打赏
  • 举报
回复
// Profile ShopManagment
SQLCA.DBMS = "OLE DB"
SQLCA.LogId = "admin"
SQLCA.AutoCommit = False
SQLCA.DBParm = "PROVIDER='Microsoft.Jet.OLEDB.4.0',DATASOURCE='F:\pb项目\ShopManager\shopmanagment.mdb'"




自己加上密码!
xuzhoult 2009-10-22
  • 打赏
  • 举报
回复
5楼朋友说得对,只有用data link才能连上带密码的access库,但是udl文件是文本文件,打开就能看到密码,不安全。
feixianzhi 2009-09-12
  • 打赏
  • 举报
回复
用odbc连接吧
// Profile lis2002
SQLCA.DBMS = "ODBC"
SQLCA.AutoCommit = False
SQLCA.DBParm = "ConnectString='DSN=lis2002;UID=用户名;PWD=密码'"

connect using sqlca;
aloxy 2009-09-12
  • 打赏
  • 举报
回复
楼主把问题的实质没找到。你可能是在pb中直接运行程序的吧。
如果你的数据库密码设置没问题,那就是因为pb自己的database profile连接用户锁定了数据库的问题。
在pb里,tools里面的database profile中,把你的当前连接断开(disconnect),再试试。
zhongasen 2009-08-20
  • 打赏
  • 举报
回复
你好! 我找了一下UDL的用法!
在UDL的配置的connection里当输入用户名密码,同样会报那样的错误:
Test connection failed because of an error in initializing provider ,cannot start your application. The workgroup information file is missing or opened exclusively by another user
test.mdb是指的我的数据库
只要我把这个数据库的密码清空,就又显示连接成功...

[Quote=引用 28 楼 xys_777 的回复:]
已经给你讲了用oledb连接带密码的access必须用data link

// Profile saleudl
SQLCA.DBMS = "OLE DB"
SQLCA.AutoCommit = False
SQLCA.DBParm = "DATALINK='C:\saledb.udl'"
引用 27 楼 zhongasen 的回复:
楼上的兄弟的两种都 ODBC的连接方式 ,我想的的OLE DB...

[/Quote]
zhongasen 2009-08-20
  • 打赏
  • 举报
回复
噢,可是UDL 文件是乍么搞出来的呀? 乍么用呀?不会哦(楼上的,对不起哟,不是我没看到你原来的回复,是我没看到代码里哪里有有关输用户名密码的地儿.... 所以忽略了.... 对不起哦)
永生天地 2009-08-20
  • 打赏
  • 举报
回复
已经给你讲了用oledb连接带密码的access必须用data link

// Profile saleudl
SQLCA.DBMS = "OLE DB"
SQLCA.AutoCommit = False
SQLCA.DBParm = "DATALINK='C:\saledb.udl'"
[Quote=引用 27 楼 zhongasen 的回复:]
楼上的兄弟的两种都 ODBC的连接方式 ,我想的的OLE DB...
[/Quote]
zhongasen 2009-08-20
  • 打赏
  • 举报
回复
楼上的兄弟的两种都 ODBC的连接方式 ,我想的的OLE DB...
永生天地 2009-08-20
  • 打赏
  • 举报
回复
udl里的密码要写在参数里,在所有的标签里

设置Jet OLEDB:Database Password的值
zhongasen 2009-08-19
  • 打赏
  • 举报
回复
哈哈! 先谢一下!
因为在公司,所以不能看
等回去看一下! 如果还有不懂的再请教你...
谢谢!
TangMingTM 2009-08-19
  • 打赏
  • 举报
回复
sqlca.DBParm = "ConnectString='DSN=MyDSN;PWD=MyPWD'"

或者

sqlca.DBParm = "ConnectString='driver={Microsoft Access Driver (*.mdb)};" PWD=MyPWD;dbq=MyDBFile'"
wag_enu 2009-08-19
  • 打赏
  • 举报
回复
不客气哈,不知道这是不是你想要的!
wag_enu 2009-08-19
  • 打赏
  • 举报
回复
在MSDN 上看到的:

Microsoft OLE DB Provider for ODBC (MSDASQL) 一项允许在 OLEDB 和 ADO(它在内部使用 OLEDB)上构建的应用程序通过 ODBC 驱动程序访问数据源的技术。 MSDASQL 是用于连接到 ODBC(而不是数据库)的 OLEDB 访问接口。 MSDASQL 随 Windows 操作系统提供.
zhongasen 2009-08-19
  • 打赏
  • 举报
回复
MSDA??这个是啥? 可以讲一下不? 谢谢! 
wag_enu 2009-08-19
  • 打赏
  • 举报
回复
MSDASQL


zhongasen 2009-08-19
  • 打赏
  • 举报
回复
啊? ACCESS数据库用MSSQL的接口?
wag_enu 2009-08-19
  • 打赏
  • 举报
回复
非要用OLE DB 的话,试一下:
1,建立该ACCESS 的ODBC 数据源 test,
2,改 PROVIDER 为 "MSDASQL"
3,选择datastource 为 test;
// Profile mdb
SQLCA.DBMS = "OLE DB"
SQLCA.LogPass = <******>
SQLCA.LogId = "admin"
SQLCA.DBParm = "PROVIDER='MSDASQL',DATASOURCE='test'

敬告,
只在DB画板中测试时,即使密码错误,也没有像ODBC那样要求输入新密码, 只要密码正确,能正常连接该MDB,
但没有在代码中测试过.
zhongasen 2009-08-19
  • 打赏
  • 举报
回复
好! 会给你的哈!
不过给我解决那个问题先... 嘿嘿!
zhongasen 2009-08-18
  • 打赏
  • 举报
回复
加载更多回复(16)

752

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧