以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  关于外部数据库存在目录的问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=54092)

--  作者:瞩望星空
--  发布时间:2014/7/21 21:58:00
--  关于外部数据库存在目录的问题

使用一个Access外部数据源,外部数据源的名称为“测试”,外部数据文件名为"data.mdb",和项目文件不是处于同一目录之下。
为了保证这个项目复制到任何目录都能正常链接该外部数据源,请问如何设置BeforeConnectOuterDataSource?

假设,以后的项目目录为“d:\\test”,想把数据源文件放在“d:\\test\\data”目录下,

测试项目中,BeforeConnectOuterDataSource设置如下:

If  e.Name = "测试" Then
    e.C & e.ProjectPath & "data\\data.mdb;Persist Security Info=True;Jet OLEDB:Database Password=123"

End If

 

 

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

[此贴子已经被作者于2014-7-21 22:10:44编辑过]

--  作者:有点甜
--  发布时间:2014/7/21 22:02:00
--  
 有什么问题,现在不是正常么?
--  作者:瞩望星空
--  发布时间:2014/7/21 22:06:00
--  

不正常。

把发布后的文件目录放在“d:\\test”

把数据库文件放在“d:\\test\\data"目录下,系统提示找不到数据库。

一定要把数据库文件放在“d:\\test\\Project\\data"才行。


--  作者:有点甜
--  发布时间:2014/7/21 22:09:00
--  

 哦,那发布之前,你把路径改一下即可。

 

e.ProjectPath & "Project\\data\\data.mdb"


--  作者:瞩望星空
--  发布时间:2014/7/21 22:13:00
--  

这个是改哪里?

是改“BeforeConnectOuterDataSource

还是改原外部数据库存放目录?


--  作者:有点甜
--  发布时间:2014/7/21 22:14:00
--  
以下是引用瞩望星空在2014-7-21 22:13:00的发言:

这个是改哪里?

是改“BeforeConnectOuterDataSource

还是改原外部数据库存放目录?

 

改事件BeforeConnectOuterDataSource


--  作者:瞩望星空
--  发布时间:2014/7/21 22:23:00
--  

经测试,改成这样无效:

If  e.Name = "测试" Then
    \'e.C & e.ProjectPath & "data.mdb;Persist Security Info=True;Jet OLEDB:Database Password=123"
    e.C & e.ProjectPath & "Project\\data\\data.mdb;Persist Security Info=True;Jet OLEDB:Database Password=123"
End If


--  作者:瞩望星空
--  发布时间:2014/7/21 22:27:00
--  

我测试过,如何把项目文件拷贝到“d:\\test”目录下

直接输出MessageBox.Show(“e.ProjectPath”),显示为: d:\\test\\Project

这个对吗?

[此贴子已经被作者于2014-7-21 22:28:26编辑过]

--  作者:有点甜
--  发布时间:2014/7/21 22:28:00
--  
 嗯,抱歉,我测试了一下,代码不变,你把data文件夹拷贝到project文件夹下即可。
--  作者:瞩望星空
--  发布时间:2014/7/21 22:43:00
--  

改变数据库目录是没有问题的,

但是,我在一楼就提出:

假设,以后的项目目录为“d:\\test”,想把数据源文件放在“d:\\test\\data”目录下

 

好象没办法简单地实现。