以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]外部数据源  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=102227)

--  作者:kaiyu
--  发布时间:2017/6/15 15:26:00
--  [求助]外部数据源

系统有多个数据源,我想问一下,如果在打开系统某一个数据源连不到的话,如何过滤掉这个数据源,让它不加载这个数据源打开系统。


--  作者:有点蓝
--  发布时间:2017/6/15 15:41:00
--  
参考:http://www.foxtable.com/webhelp/scr/0682.htm
--  作者:kaiyu
--  发布时间:2017/6/15 15:50:00
--  

这个早就看了,有判断IP不通可以切换,我用的是ACCESS数据源,如果有人打开了这个数据库,这边连数据源就连不到,

我想如何去判断这个数据源是不是可以连上,如果连不上则如何取消这个数据源。

    


--  作者:kaiyu
--  发布时间:2017/6/15 15:52:00
--  
详细错误信息:
不能使用 \'\';文件已在使用中。
这个是测试数据源连接出现这个错误提示,是不是数据库被打开而不能连接
--  作者:有点色
--  发布时间:2017/6/15 16:03:00
--  

 你的数据源设置成【独占】了?

 

On Error Resume Next
Dim conn As New ADODB.Connection
conn.Open("Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=g:\\test.mdb;Jet OLEDB:Database Locking Mode=0;")
If Err.Number = -2147467259 Then
    MsgBox("文件已经在使用中,估计是被别人以独占方式打开了")
End If

 

 直接打开的话,请用共享,不建议用独占方式 http://jingyan.baidu.com/article/851fbc370284633e1f15aba0.html

 

 

 


--  作者:kaiyu
--  发布时间:2017/6/15 16:22:00
--  

版主:我刚才测试了,发现数据库的默认打开方式是为共享,但是一打开,用你上面的代码测试,数据库打开方式为独占出现message对话框。


--  作者:有点色
--  发布时间:2017/6/15 17:53:00
--  
以下是引用kaiyu在2017/6/15 16:22:00的发言:

版主:我刚才测试了,发现数据库的默认打开方式是为共享,但是一打开,用你上面的代码测试,数据库打开方式为独占出现message对话框。

 

我测试access数据库没有问题。你看看这个文件的【属性】,看看是不是锁定了?

 

或者,access发上来测试下。


--  作者:kaiyu
--  发布时间:2017/6/16 10:35:00
--  

今天又调试了一下,把原数据源删除,将ACCESS数据库打开,然后再做数据源连接这个数据库,发现这样就可以了。

在不打开数据库情况下连接生成的数据源,然后打开数据库,再测试数据源会显示连接会失败。

另还问一个问题,如何判断这个数据源下是否存在某张表。


--  作者:有点色
--  发布时间:2017/6/16 10:47:00
--  

1、你的连接字符串发出来看看。或者你对比一下两次生成的字符串,有没有不同。

 

2、参考 http://www.foxtable.com/webhelp/scr/1943.htm

 


--  作者:kaiyu
--  发布时间:2017/6/16 11:31:00
--  

版主:是不是文件共享问题,将d这个文件夹设为共享,然后在d文件下面再设有一个共享文件夹c,数据库放在这个c文件夹里面。

连接字符串中的路径要用ip地址/d/c/数据库名字就可以,刚开始连接字符串中的路径是省略中间的d(ip地址/c/数据库名字),

请问是不是这个问题。