Foxtable(狐表)用户栏目专家坐堂 → 项目开发好如何在局域里发布使用


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

主题:项目开发好如何在局域里发布使用

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


加好友 发短信
等级:六尾狐 帖子:1271 积分:8670 威望:0 精华:0 注册:2019/6/13 9:57:00
项目开发好如何在局域里发布使用  发帖心情 Post By:2022/12/23 13:19:00 [显示全部帖子]

问题一:看视频和帮助,都是企业内部开发使用的思维,先在局域网,建立共享文件,建库,建表使用,并非外部开发,外部用户使用,一般软件,开发者都在本机开发,开发好再给客户使用,其他软件公司做法是,在客户服务器安装系统和数据库,在客户端安装系统,连接局域网服务器上的项目系统的数据库,连接方法是在ACCESS或SQL的数据库上传到局域网服务器即可,狐表不是这样,数据连接常常不上,如何处理?
问题二:下面是帮助,说这样做可以任何目录都能正常连接数据源,可我这样做还是报错,提示找不数据源,是什么问题?

假定有一个成绩管理系统,使用的是一个Access格式的外部数据源,外部数据源的名称为“成绩”,外部数据文件名为"成绩数据.mdb",和项目文件处于同一目录之下。
为了保证这个项目复制到任何目录都能正常链接该外部数据源,可以在
BeforeConnectOuterDataSource事件中加入下面的代码:

If e.name = "成绩" Then
    e.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & e.ProjectPath & 
"成绩数据.mdb;Persist Security Info=False"

End
 if

这里假定外部数据源的格式2000/2003,如果是2007,代码为:

If e.name = "成绩" Then
    e.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & e.ProjectPath & 
"成绩数据.accdb;Persist Security Info=False"

End
 if

如果有多个数据源,可以:

If e.name = "数据源1" Then
    e.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & e.ProjectPath & 
"数据文件1.mdb;Persist Security Info=False"
ElseIf e.name = "数据源2" Then
    e.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & e.ProjectPath & 
"数据文件2.mdb;Persist Security Info=False"

End
 if


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


加好友 发短信
等级:六尾狐 帖子:1271 积分:8670 威望:0 精华:0 注册:2019/6/13 9:57:00
  发帖心情 Post By:2022/12/23 13:47:00 [显示全部帖子]

If e.name = "JXC" Then ' 
    e.C & e.ProjectPath & "JXC.MDB;Persist Security Info=False" '
End If



'If e.name = "JXC" Then
'    e.C & e.ProjectPath & "JXC.accdb;Persist Security Info=False"
'End If

上面代码都不行,哪里错

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


加好友 发短信
等级:六尾狐 帖子:1271 积分:8670 威望:0 精华:0 注册:2019/6/13 9:57:00
  发帖心情 Post By:2022/12/23 14:13:00 [显示全部帖子]

数据库有密码,      项目文件没放到共享里使用

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


加好友 发短信
等级:六尾狐 帖子:1271 积分:8670 威望:0 精华:0 注册:2019/6/13 9:57:00
  发帖心情 Post By:2022/12/23 15:04:00 [显示全部帖子]

该通过网上邻居来选择路径和数据库文件,  是不是也是共享文件?先在局网做文件共享把数据库放进,再连接?



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


加好友 发短信
等级:六尾狐 帖子:1271 积分:8670 威望:0 精华:0 注册:2019/6/13 9:57:00
  发帖心情 Post By:2022/12/23 15:26:00 [显示全部帖子]

假定有一个成绩管理系统,使用的是一个Access格式的外部数据源,外部数据源的名称为“成绩”,外部数据文件名为"成绩数据.mdb",和项目文件处于同一目录之下。
为了
证这个项目复制到任何目录都能正常链接该外部数据源,可以在
BeforeConnectOuterDataSource事件中加入下面的代码

If e.name = "成绩" Then
    e.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & e.ProjectPath & 
"成绩数据.mdb;Persist Security Info=False"

End
 if


上面这个方法说可以在任何目录正常连接,还要做下面吗?



在局域网中使用的时候,即使服务器就是本机,也就是数据库文件在本机,也不要使用本地路径,因为如果使用"c:\data"这样的路径,项目复制到其他电脑使用的时候,将无法连接数据库文件,因为其他电脑的"c:\data",肯定不是服务器上的"c:\data"。
所以,对于一个准备在局域网使用的项目,不管服务器是否是本机,都应该通过网上邻居来选择路径和数据库文件:

图片点击可在新窗口打开查看


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


加好友 发短信
等级:六尾狐 帖子:1271 积分:8670 威望:0 精华:0 注册:2019/6/13 9:57:00
  发帖心情 Post By:2022/12/23 15:27:00 [显示全部帖子]

为了证这个项目复制到任何目录都能正常链接该外部数据源,可以在BeforeConnectOuterDataSource事件中加入下面的代码

If e.name = "成绩" Then
    e.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & e.ProjectPath & 
"成绩数据.mdb;Persist Security Info=False"

End
 if 


为何还有多时候连接不上?


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


加好友 发短信
等级:六尾狐 帖子:1271 积分:8670 威望:0 精华:0 注册:2019/6/13 9:57:00
  发帖心情 Post By:2022/12/23 16:09:00 [显示全部帖子]

没看懂,

这个说可以证这个项目复制到任何目录都能正常链接该外部数据源。

任可目录应包括局网,如果不能包括,那写下面有什么意义?

为了证这个项目复制到任何目录都能正常链接该外部数据源,可以在BeforeConnectOuterDataSource事件中加入下面的代码

If e.name = "成绩" Then
    e.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & e.ProjectPath & 
"成绩数据.mdb;Persist Security Info=False"

End
 if 



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


加好友 发短信
等级:六尾狐 帖子:1271 积分:8670 威望:0 精华:0 注册:2019/6/13 9:57:00
  发帖心情 Post By:2022/12/23 16:12:00 [显示全部帖子]

图片点击可在新窗口打开查看 那只做这个即可,还是要结合上面代码,才能实现?太复杂

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


加好友 发短信
等级:六尾狐 帖子:1271 积分:8670 威望:0 精华:0 注册:2019/6/13 9:57:00
  发帖心情 Post By:2022/12/23 16:25:00 [显示全部帖子]

局域网中使用的时候,即使服务器就是本机,也就是数据库文件在本机,也不要使用本地路径,因为如果使用"c:\data"这样的路径,项目复制到其他电脑使用的时候,将无法连接数据库文件,因为其他电脑的"c:\data",肯定不是服务器上的"c:\data"。
所以,对于一个准备在局域网使用的项目,不管服务器是否是本机,都应该通过网上邻居来选择路径和数据库文件:


局域网中通过网上邻居来选择路径和数据库文件,这个还是有一个问题,也是一个绝对路径,比如,开发公司局域网的路径和数据库:\\TSTI\QS\订单,到客户那么有可能不是这样路径,或说是要在客户的服务器做一个同路径和数据库?

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


加好友 发短信
等级:六尾狐 帖子:1271 积分:8670 威望:0 精华:0 注册:2019/6/13 9:57:00
  发帖心情 Post By:2022/12/23 16:33:00 [显示全部帖子]

ACCESS或SQL2008的路径或数据连接都比较绝对路径,是不是可以项目写一个窗口数据源动态连接,加密只有有开发者权限密码来连接数据,或做设置,配配置文件设计客户的路径,这样就很灵活,不知这个如何实现?

 回到顶部
总数 11 1 2 下一页