十万火急!!!求教各位前辈一个问题!!!拜托了!!!

chenyf2006 2005-08-10 10:41:45
'数据库连结参数
Dim sqlstr As String '执行的sql语句
Dim rs As ADODB.Recordset '数据集
Dim cn As New ADODB.Connection '连接
Private Sub Form_Load()
'设置数据库连结
Set cn = New ADODB.Connection
cn.ConnectionTimeout = 60
cn.Provider = "sqloledb"
cn.Properties("Data Source").Value = gaSqlSrv
cn.Properties("Initial Catalog").Value = gaOldSqlBase
cn.Properties("Integrated Security").Value = "SSPI"
cn.Properties("User Id").Value = "ABC"
cn.Properties("Password").Value = "123"
cn.CursorLocation = adUseClient
cn.Open ---执行成功!
Set rs = New ADODB.Recordset

执行以下语句:
If rs.State = 1 Then
rs.Close
End If
sqlstr ="select * from OPENROWSET('Microsoft.Jet.OLEDB.4.0','\\Test2000\cyfbak\备份历史库\tlmonhtMid.mdb';;, tbl_txn_lst) "
rs.Open sqlstr, cn

系统提示出错:
OLE DB 提供程序 'Microsoft.Jet.OLEDB.4.0' 报错。
[OLE/DB provider returned message: Microsoft Jet 数据库引擎打不开文件'\\Test2000\cyfbak\备份历史库\tlmonhtMid.mdb'。
它已经被别的用户以独占方式打开,或没有查看数据的权限。]

我试着对该文件进行压缩,操作成功。说明我有对该表操作的权限。
我又直接用'ABC','123'登录sqlserver,
执行:
select *from OPENROWSET('Microsoft.Jet.OLEDB.4.0', '\\Test2000\cyfbak\备份历史库 \tlmonhtMid.mdb';;, tbl_txn_lst)---- 成功!
但放在VB中就提示以上错误.为什么啊?

...全文
53 点赞 收藏 2
写回复
2 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
chenyf2006 2005-08-10
junki(『打破沙锅问到底』) :
您说的是在sql语句中加吗?如下:
sqlstr ="select * from OPENROWSET('Microsoft.Jet.OLEDB.4.0','\\Test2000\cyfbak\备份历史库\tlmonhtMid.mdb';'ABC';'123', tbl_txn_lst) "
???
回复
junki 2005-08-10
sqlstr ="select * from OPENROWSET('Microsoft.Jet.OLEDB.4.0','\\Test2000\cyfbak\备份历史库\tlmonhtMid.mdb';;, tbl_txn_lst) "

有身份验证的时候,应该在SQL里面添加用户名与密码
回复
相关推荐
发帖
VB基础类
创建于2007-09-28

7518

社区成员

VB 基础类
申请成为版主
帖子事件
创建了帖子
2005-08-10 10:41
社区公告
暂无公告