以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  发布程序时的数据源文件的位置  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=185949)

--  作者:hongsejiyi
--  发布时间:2023/3/27 17:04:00
--  发布程序时的数据源文件的位置
想请问一下,数据源文件【mdb】保存在了发布前与项目文件一个目录里,当前发布了程序以后,发现发布后的程序里没有这个数据源文件,所以需要单独拷贝一下;
如果在发布前,将该文件用添加附件的形式将这个数据源文件加在这儿,发布后的程序里在【project】文件夹里有这个文件,需要再设置一下数据源文件去引用它,保存后,再次登录程序可以正常使用;
但有个问题,下次再发布程序会发现将设计端的数据源覆盖了客户端升级后的这个数据源中的数据了,除非是在再次发布前去掉这个【添加附件】的文件引用,只有首次发布时添加;

是不是有其他的办法,来完成我的需求
我的需求是:发布程序时,不需要单独拷贝数据源文件,就和发布文件一起成功,且通过客户端升级如果避免被覆盖
或者,在发布后,客户端执行后,如何引用数据源文件的位置,才不会随着项目文件夹的移动、改名,而适合新的位置
[此贴子已经被作者于2023/3/27 17:14:51编辑过]

--  作者:有点蓝
--  发布时间:2023/3/27 17:09:00
--  
access数据库?access设置的时候,路径是固定的
--  作者:hongsejiyi
--  发布时间:2023/4/3 7:53:00
--  
在连接外部数据源之前时,是不是可以用FileSys.GetParentPath(ProjectPath & "abc.mdb"),把数据源放在项目文件的父目录里,在启动程序之间,获取它的位置并指定它,也就不会因为整体目录的改变而需要重新指定数据源了,也不会因为新发布项目而被覆盖了?
[此贴子已经被作者于2023/4/3 7:54:39编辑过]

--  作者:有点蓝
--  发布时间:2023/4/3 8:40:00
--  
参考:http://www.foxtable.com/webhelp/topics/0682.htm,可以让用户自己指定数据库的路径。

如果要获取发布程序的上级目录,应该这样:FileSys.GetParentPath(FileSys.GetParentPath(ApplicationPath))