为什么access中不能设置密码?该怎么处理
为什么access中不能设置密码?
在用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
求教为什么? 或者哪里写错了?
------解决方案--------------------
用ODBC的两种方式肯定是可以用的,我一直都是这么连接的:
1,在DB画板版中,这么整:
// Profile shoffice_server_dataset
SQLCA.DBMS = "ODBC"
SQLCA.AutoCommit = False
SQLCA.DBParm = "ConnectString='DSN=shoff_srv_dataset;UID=admin;PWD=123456'"
先建立 shoff_srv_dataset 数据源,并请注意在数据源建立时不能选择独占,至于为什么,你自己去想一下;
2,在代码中可以这么整:
SQLca.DBMS = "ODBC"
SQLca.AutoCommit = false
SQLca.DBParm = "ConnectString='driver={Microsoft Access Driver (*.mdb)};DBQ=c:\aa\完整的MDB文件名(包含括展名);uid=admin;pwd=123456'"
------解决方案--------------------
一直只用ODBC连,可以设密码。
如果数据库本身没密码,代码有密码也可以打开。
------解决方案--------------------
------解决方案--------------------
------解决方案--------------------
非要用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,
但没有在代码中测试过.
------解决方案--------------------
是MSDASQL
------解决方案--------------------
在MSDN 上看到的:
Microsoft OLE DB Provider for ODBC (MSDASQL) 一项允许在 OLEDB 和 ADO(它在内部使用 OLEDB)上构建的应用程序通过 ODBC 驱动程序访问数据源的技术。 MSDASQL 是用于连接到 ODBC(而不是数据库)的 OLEDB 访问接口。 MSDASQL 随 Windows 操作系统提供.
------解决方案--------------------
sqlca.DBParm = "ConnectString='DSN=MyDSN;PWD=MyPWD'"
或者
sqlca.DBParm = "ConnectString='driver={Microsoft Access Driver (*.mdb)};" PWD=MyPWD;dbq=MyDBFile'"
------解决方案--------------------
已经给你讲了用oledb连接带密码的access必须用data link
// Profile saleudl
SQLCA.DBMS = "OLE DB"
SQLCA.AutoCommit = False
SQLCA.DBParm = "DATALINK='C:\saledb.udl'"
在用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
求教为什么? 或者哪里写错了?
------解决方案--------------------
用ODBC的两种方式肯定是可以用的,我一直都是这么连接的:
1,在DB画板版中,这么整:
// Profile shoffice_server_dataset
SQLCA.DBMS = "ODBC"
SQLCA.AutoCommit = False
SQLCA.DBParm = "ConnectString='DSN=shoff_srv_dataset;UID=admin;PWD=123456'"
先建立 shoff_srv_dataset 数据源,并请注意在数据源建立时不能选择独占,至于为什么,你自己去想一下;
2,在代码中可以这么整:
SQLca.DBMS = "ODBC"
SQLca.AutoCommit = false
SQLca.DBParm = "ConnectString='driver={Microsoft Access Driver (*.mdb)};DBQ=c:\aa\完整的MDB文件名(包含括展名);uid=admin;pwd=123456'"
------解决方案--------------------
一直只用ODBC连,可以设密码。
如果数据库本身没密码,代码有密码也可以打开。
------解决方案--------------------
------解决方案--------------------
------解决方案--------------------
非要用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,
但没有在代码中测试过.
------解决方案--------------------
是MSDASQL
------解决方案--------------------
在MSDN 上看到的:
Microsoft OLE DB Provider for ODBC (MSDASQL) 一项允许在 OLEDB 和 ADO(它在内部使用 OLEDB)上构建的应用程序通过 ODBC 驱动程序访问数据源的技术。 MSDASQL 是用于连接到 ODBC(而不是数据库)的 OLEDB 访问接口。 MSDASQL 随 Windows 操作系统提供.
------解决方案--------------------
sqlca.DBParm = "ConnectString='DSN=MyDSN;PWD=MyPWD'"
或者
sqlca.DBParm = "ConnectString='driver={Microsoft Access Driver (*.mdb)};" PWD=MyPWD;dbq=MyDBFile'"
------解决方案--------------------
已经给你讲了用oledb连接带密码的access必须用data link
// Profile saleudl
SQLCA.DBMS = "OLE DB"
SQLCA.AutoCommit = False
SQLCA.DBParm = "DATALINK='C:\saledb.udl'"