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

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中就提示以上错误.为什么啊?

...全文
86 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
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里面添加用户名与密码

7,785

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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