以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 外部数据源连接出现问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=76746) |
-- 作者:hqy168168 -- 发布时间:2015/11/4 12:05:00 -- 外部数据源连接出现问题 在一台机器上创建了4个数据库(access2003):data1,data2,data3,data4,数据全部加密,密码都是todata, 放在项目文件里面DataResource文件夹下面,数据源名称分别为DataResourceData1,DataResourceData2,DataResourceData3,DataResourceData4 我希望打开项目后能全部加载这4个数据源 BeforeConnectOuterDataSource事件: Dim DataResourceDirectory As String = e.ProjectPath & "DataResource" If FileSys.DirectoryExists(DataResourceDirectory) Then Dim DataResourceFile1 As String = e.ProjectPath & "DataResource\\Data1.mdb" Dim DataResourceFile2 As String = e.ProjectPath & "DataResource\\Data2.mdb" Dim DataResourceFile3 As String = e.ProjectPath & "DataResource\\Data3.mdb" Dim DataResourceFile4 As String = e.ProjectPath & "DataResource\\Data4.mdb" If FileSys.FileExists(DataResourceFile1) Then CompactAccessFile(DataResourceFile1,"todata") If e.Name = "DataResourceData1" Then e.C& e.ProjectPath & _ "DataResource\\data1.mdb;Persist Security Info=False;Jet OLEDB:Database Password=todata" End If End If If FileSys.FileExists(DataResourceFile2) Then CompactAccessFile(DataResourceFile2,"todata") If e.Name = "DataResourceData2" Then e.C& e.ProjectPath & _ "DataResource\\data2.mdb;Persist Security Info=False;Jet OLEDB:Database Password=todata" End If End If If FileSys.FileExists(DataResourceFile3) Then CompactAccessFile(DataResourceFile3,"todata") If e.Name = "DataResourceData3" Then e.C& e.ProjectPath & _ "DataResource\\data3.mdb;Persist Security Info=False;Jet OLEDB:Database Password=todata" End If End If If FileSys.FileExists(DataResourceFile4) Then CompactAccessFile(DataResourceFile4,"todata") If e.Name = "DataResourceData4" Then e.C& e.ProjectPath & _ "DataResource\\data4.mdb;Persist Security Info=False;Jet OLEDB:Database Password=todata" End If End If End If 项目在这台机器上运行正常 当把这个各项目拷贝到另一台也可使用开发版的机器上(未安装access )运行时,出现以下错误: 创建外部连接“DataResourceData1"失败,请联系管理员或开发者,重新设置数据连接字符串 Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\\foxtable\\DevelopingProject\\人事管理系统\\DataResource\\data1.mdb;Persist Security Info=False;Jet OLEDB:Database Password=todata 请问是什么原因,怎么解决呢?
|
-- 作者:大红袍 -- 发布时间:2015/11/4 12:11:00 -- 在另一台电脑,直接添加access数据源,是否正确?
显示的路径 D:\\foxtable\\DevelopingProject\\人事管理系统\\DataResource 在电脑上是否存在? |
-- 作者:hqy168168 -- 发布时间:2015/11/4 14:15:00 -- 不存在。我的目标是在项目发布后,复制到任何电脑上都可用,不需要制定路径的。数据库文件放在项目目录的DataResource文件夹里面 |
-- 作者:hqy168168 -- 发布时间:2015/11/4 14:19:00 -- 我是在用作开发电脑上先在”外部数据源“上连接字符串 Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\\foxtable\\DevelopingProject\\人事管理系统\\DataResource\\data1.mdb;Persist Security Info=False;Jet OLEDB:Database Password=todata 然后在BeforeConnectOuterDataSource事件中对连接字符串作修改
e.C& e.ProjectPath & "DataResource\\data1.mdb;Persist Security Info=False;Jet OLEDB:Database Password=todata"
|
-- 作者:大红袍 -- 发布时间:2015/11/4 14:57:00 -- 1、在BeforeConnectOuterDataSource事件里,弹出拼凑出来的路径看看。
2、在客户端的计算机,直接打开项目,添加数据源,看是否可以。 |
-- 作者:hqy168168 -- 发布时间:2015/11/4 15:51:00 -- 我是先在开发电脑上外部数据源生成连接字符串: Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\\foxtable\\DevelopingProject\\人事管理系统\\DataResource\\Data1.mdb;Persist Security Info=False;Jet OLEDB:Database Password=todata然后在BeforeConnectOuterDataSource修改连接字符串的
|
-- 作者:大红袍 -- 发布时间:2015/11/4 15:53:00 -- 看5楼啊 |
-- 作者:hqy168168 -- 发布时间:2015/11/4 16:26:00 -- 可以了,不能按住ctrl |