Foxtable(狐表)用户栏目专家坐堂 → 外部数据源连接


  共有5146人关注过本帖树形打印复制链接

主题:外部数据源连接

帅哥哟,离线,有人找我吗?
yongxuanchen
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:238 积分:1986 威望:0 精华:0 注册:2015/2/16 13:29:00
外部数据库续  发帖心情 Post By:2015/6/28 15:51:00 [只看该作者]

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

我使用了第二种方法,在本机建立了Ip。txt文件,并且输入了以上代码。本机的ip地址是192.168.11.116,数据库的名称是 "数据库",

但是修改后程序在本地机不能使用,提示外部数据源不能连接,需要手动选择连接,请问问题所在。

还有一个问题e.ConnectionString = e.ConnectionString.Replace("119.119.120.120",ip),这一段代码的Ip地址需要修改吗?谢谢


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  12楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/6/28 15:52:00 [只看该作者]

红色代码改成你在设置数据源的时候填的什么ip

 

e.ConnectionString = e.ConnectionString.Replace("119.119.120.120",ip)


 回到顶部
帅哥哟,离线,有人找我吗?
yongxuanchen
  13楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:238 积分:1986 威望:0 精华:0 注册:2015/2/16 13:29:00
  发帖心情 Post By:2015/6/28 16:06:00 [只看该作者]

e.ConnectionString = e.ConnectionString.Replace("192.168.11.116",ip),我现在正在设置,我将代码改成现在电脑的IP了,本机还是提示错误,Ip.TXT文件需要放在什么目录下吗?


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  14楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/6/28 16:15:00 [只看该作者]

比如,你的数据源这样设置

 

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\\192.168.11.116\共享文件夹名\abc.mdb;Persist Security Info=False

 

那么,你的代码就要这样写

 

e.ConnectionString = e.ConnectionString.Replace("\\192.168.11.116\共享文件夹名\abc.mdb", ip)

 

而且,你的ip.txt要这样写

 

\\服务器ip\共享文件夹名\abc.mdb

 


 回到顶部
帅哥哟,离线,有人找我吗?
yongxuanchen
  15楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:238 积分:1986 威望:0 精华:0 注册:2015/2/16 13:29:00
那我再试试  发帖心情 Post By:2015/6/28 16:18:00 [只看该作者]

    哦,原来需要这样设置,那么设置相差还比较远,我需要先试试,谢谢!

 回到顶部
帅哥哟,离线,有人找我吗?
yongxuanchen
  16楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:238 积分:1986 威望:0 精华:0 注册:2015/2/16 13:29:00
续问  发帖心情 Post By:2015/6/29 17:43:00 [只看该作者]

我将发布出来的文件放在局域网中,主机共享文件夹放在192.168.0.71上

外部数据源设置:

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\\192.168.0.32\共享文件夹名\abc.mdb;Persist Security Info=False

 

代码中没变:

 

e.ConnectionString = e.ConnectionString.Replace("\\192.168.11.116\共享文件夹名\abc.mdb", ip)

 

ip.txt写成这样

 

\\192.168.0.71\共享文件夹名\abc.mdb

提示外部数据源不能连接。我想问题是外部数据源的Ip在发布后不能修改,怎样才能在各个局域网中都能只改Ip.txt文件


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  17楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/6/29 17:46:00 [只看该作者]

 你外部数据源设置的是 192.168.0.32

 

 那你替换的代码,应该这样写啊 e.ConnectionString = e.ConnectionString.Replace("192.168.0.32", ip)


 回到顶部
帅哥哟,离线,有人找我吗?
yongxuanchen
  18楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:238 积分:1986 威望:0 精华:0 注册:2015/2/16 13:29:00
但是我会遇到这样的情况  发帖心情 Post By:2015/6/29 17:53:00 [只看该作者]

    但是我会遇到这样的情况,当我发布系统后,使用的单位都会有自己的局域网,那么,他们的外部数据源的地址是会改变的,这是第一点,然后,我的 e.ConnectionString = e.ConnectionString.Replace("192.168.0.32", ip)这个语句是不改变的,外部数据源的设置也是不能改变的,我能让客户改变的是Ip.txt的内容,那么,我应该怎样可以解决这个通用性的问题,谢谢。

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  19楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/6/29 18:10:00 [只看该作者]

以下是引用yongxuanchen在2015/6/29 17:53:00的发言:
    但是我会遇到这样的情况,当我发布系统后,使用的单位都会有自己的局域网,那么,他们的外部数据源的地址是会改变的,这是第一点,然后,我的 e.ConnectionString = e.ConnectionString.Replace("192.168.0.32", ip)这个语句是不改变的,外部数据源的设置也是不能改变的,我能让客户改变的是Ip.txt的内容,那么,我应该怎样可以解决这个通用性的问题,谢谢。

 

就是这个意思啊。

 

1、192.168.0.32 是你设计软件的时候,连接的数据源,也就是定死在项目里面的;

 

2、你修改ip.txt文件以后,就把192.168.0.32的内容替换成你自己的内容了啊,就连接到那里去了啊


 回到顶部
帅哥哟,离线,有人找我吗?
wusim
  20楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:390 积分:3168 威望:0 精华:0 注册:2008/8/31 20:44:00
  发帖心情 Post By:2015/6/30 7:07:00 [只看该作者]

默认连数据库的代码:e.C & e.projectPath & "\数据库\A.mdb;Persist Security Info=False" 当数据源改变就用以下代码:
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
能不能把代码整合?默认数据库位置改变了,就重新弹出窗口来设置,设置后,能不能把这一个设置保存好?当位置又变了,再一次弹出窗口来设置,
设置后,也能把这一个设置保存好


[此贴子已经被作者于2015/6/30 7:19:40编辑过]

 回到顶部
总数 24 上一页 1 2 3 下一页