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


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

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

帅哥哟,离线,有人找我吗?
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


 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111408 积分:567110 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/12/23 13:32:00 [只看该作者]

Foxtable一样是这样用的。连不上一般原因
1、数据库路径不对
2、没有权限访问数据库文件

 回到顶部
帅哥哟,离线,有人找我吗?
lgz518
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | 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

上面代码都不行,哪里错

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111408 积分:567110 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/12/23 14:00:00 [只看该作者]

项目文件所在的目录里没有JXC.MDB这个数据库文件。数据库有密码?

项目文件不要放到共享里使用


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


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

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

 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111408 积分:567110 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/12/23 14:14:00 [只看该作者]

很多人都是不仔细看帮助乱用的:http://www.foxtable.com/webhelp/topics/1808.htm,第6点

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


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

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



 回到顶部
帅哥哟,离线,有人找我吗?
lgz518
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | 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
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | 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 


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


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


加好友 发短信
等级:四尾狐 帖子:998 积分:6656 威望:0 精华:0 注册:2014/10/20 11:06:00
  发帖心情 Post By:2022/12/23 15:37:00 [只看该作者]

e.ProjectPath 返回项目文件所在目录,这个只能针对那种整个项目拷贝到其他地方使用的情况,数据库文件也在里面的 
你这里要修改成局域网路径,而不是项目文件目录,这样肯定是找不到的
[此贴子已经被作者于2022/12/23 15:38:42编辑过]

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