以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  外部数据源连接  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=70355)

--  作者:yongxuanchen
--  发布时间:2015/6/19 13:36:00
--  外部数据源连接

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:外部数据库连接.rar

麻烦版主帮忙看看上面的程序语句有什么问题。这个例子是需要连接一个外部数据源,而且能够时候在不同的机器上,我在项目属性中加了个语句,问题好像是解决了。

但是,我把上述程序应用后,按着ctrl想进入开发模式,就出现了错误提示,而且,现在程序不能连接内部表,程序里的表也就不见了,急求解决的办法。

版主测试时,可按住ctrl进入试一下问题。


--  作者:大红袍
--  发布时间:2015/6/19 14:23:00
--  

 按住ctrl的时候,就不会允许任何代码,所以也不会允许你项目属性里面改变数据源的代码。

 

 所以,数据源还是你最初设置的那个,如果不存在,就会弹出错误,你设置一下路径保存即可。


--  作者:yongxuanchen
--  发布时间:2015/6/19 15:49:00
--  发布后,在别的电脑上使用还是报错
   按照上面的列子,我发布了一个程序,但是到别的电脑使用时,还是提示连接不到数据库,是不是发布后要把数据库的位置进行改变。
--  作者:yongxuanchen
--  发布时间:2015/6/19 16:21:00
--  发布后的错误提示

图片点击可在新窗口打开查看此主题相关图片如下:8810059332758109999.jpg
图片点击可在新窗口打开查看

--  作者:Bin
--  发布时间:2015/6/19 16:30:00
--  
参考帮助http://www.foxtable.com/help/topics/0682.htm
--  作者:大红袍
--  发布时间:2015/6/19 16:59:00
--  
 你的数据库,要放在project文件夹下才行。
--  作者:yongxuanchen
--  发布时间:2015/6/19 23:30:00
--  局域网

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:外部数据库连接.rar

你好,通过你给的方法,我基本解决了在不同的主机上使用外部数据源的目的。现在能不能帮我利用上面的例子,

建立一个能够适应不同的局域网络,也就是我发布的程序需要分发给不同局域网的客户,客户怎么能够不用或者简单设置,就能打开

程序,谢谢。求例子。我看了你给的几个例子,但是尝试了一下都没成功,上面的例子是我用你介绍的方法做的其中一个例子。好像不成功,

谢谢。


--  作者:大红袍
--  发布时间:2015/6/23 9:19:00
--  

1、是局域网使用,还是单机使用?

 

2、如果是局域网共享使用数据源,你可以用txt的方法,或者选择文件的方法。具体是这样

 

示例三

如果希望能够在打开项目的时候,自动出现一个对话框,让用户可以自由选择外部数据文件,可以BeforeConnectOuterDataSource事件中加入下面的代码:

If e.Name = "连接名称" Then
    Dim
dlg As New OpenFileDialog
    dlg.Filter=
"Access文件|*.mdb"
    If dlg.ShowDialog = DialogResult.Ok Then
        e.ConnectionString =
"Provider=
Microsoft.Jet.OLEDB.4.0;Data Source=" & dlg.FileName & ";Persist Security Info=False"
    End
If
End
if

 

示例四

你也可以用另一种方法解决,在项目文件目录下创建一个ip.txt的文本文件,在该文件中输入最新的IP地址,并在BeforeConnectOuterDataSource事件中设置如下代码:

Dim ipFile As String = e.ProjectPath & "ip.txt"
If
e.Name = "销售数据" Then
    If Filesys.FileExists(ipFile) Then
        Dim ip As String = FileSys.ReadAllText(ipFile)
        e.ConnectionString = e.ConnectionString.Replace("119.119.120.120",ip)
    End
If
End
If


--  作者:yongxuanchen
--  发布时间:2015/6/28 0:26:00
--  续问

    我希望使用的是局域网共享使用数据源,现在想了解你上述代码中的两个问题

第一:我的外部数据源应该放在指定IP的服务器的哪个文件中。

第二:Dim ipFile As String = e.ProjectPath & "ip.txt"这个代码,e.ProjectPath是什么意思,是不是当我的外部数据源位置发生变化时,只要改变ip.txt中的IP地址即可?

第三:如果我是一个196.168.0.5的小型局域网,是不是也能采用上述办法,也就是说在一个小型局域网内使用可不可以,网络的局域网有没有什么要求,谢谢!


--  作者:大红袍
--  发布时间:2015/6/28 9:42:00
--  

1、放到服务器任意一个文件夹都可以,但必须设置文件夹是共享的;

 

2、用ip.txt的方式,只需要修改txt里面的ip地址即可。e.ProjectPath的意思是,取得项目文件夹的路径

 

3、只要电脑之间相互能ping通,就能用共享文件夹的方式