Foxtable(狐表)用户栏目专家坐堂 → 外部数据源连接出现问题


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

主题:外部数据源连接出现问题

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


加好友 发短信
等级:童狐 帖子:251 积分:3384 威望:0 精华:0 注册:2012/7/20 12:15:00
外部数据源连接出现问题  发帖心情 Post By: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


请问是什么原因,怎么解决呢?

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/11/4 12:11:00 [只看该作者]

在另一台电脑,直接添加access数据源,是否正确?

 

显示的路径 D:\foxtable\DevelopingProject\人事管理系统\DataResource 在电脑上是否存在?


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


加好友 发短信
等级:童狐 帖子:251 积分:3384 威望:0 精华:0 注册:2012/7/20 12:15:00
  发帖心情 Post By:2015/11/4 14:15:00 [只看该作者]

不存在。我的目标是在项目发布后,复制到任何电脑上都可用,不需要制定路径的。数据库文件放在项目目录的DataResource文件夹里面


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


加好友 发短信
等级:童狐 帖子:251 积分:3384 威望:0 精华:0 注册:2012/7/20 12:15:00
  发帖心情 Post By: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"


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/11/4 14:57:00 [只看该作者]

1、在BeforeConnectOuterDataSource事件里,弹出拼凑出来的路径看看。

 

2、在客户端的计算机,直接打开项目,添加数据源,看是否可以。


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


加好友 发短信
等级:童狐 帖子:251 积分:3384 威望:0 精华:0 注册:2012/7/20 12:15:00
  发帖心情 Post By: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修改连接字符串的

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/11/4 15:53:00 [只看该作者]

看5楼啊

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


加好友 发短信
等级:童狐 帖子:251 积分:3384 威望:0 精华:0 注册:2012/7/20 12:15:00
  发帖心情 Post By:2015/11/4 16:26:00 [只看该作者]

可以了,不能按住ctrl

 回到顶部