Foxtable(狐表)用户栏目专家坐堂 → [求助]怎样把SQL外数据源临时改为mdb文件?


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

主题:[求助]怎样把SQL外数据源临时改为mdb文件?

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


加好友 发短信
等级:幼狐 帖子:72 积分:753 威望:0 精华:0 注册:2013/4/6 22:31:00
[求助]怎样把SQL外数据源临时改为mdb文件?  发帖心情 Post By:2018/4/20 15:00:00 [只看该作者]

平时在公司是连接局域网里面的MSSQL服务器,想在家里继续使用,就把所有表存到一个MDB文件里,在家时就通过开始的用户扩展属性选择本地的mdb文件作为外数据源,但这样总是出错。附图是其中一个错误提示
我的疑问是:是否可以在BeforeConnectOuterDataSource事件里修改链接字符串,把原本指向局域网的外数据源变更成指向本地mdb文件的数据源?那原来的SQL数据源的各个外部表也会自动重定向这个mdb文件吗?有什么需要注意的地方?
图片点击可在新窗口打开查看此主题相关图片如下:qq图片20180420144706.png
图片点击可在新窗口打开查看

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/4/20 15:46:00 [只看该作者]

首先,备份好你的sqlserver数据库,备份好你的foxtable项目。

 

然后,在项目里面,添加一个access数据源,把所有表格重定向到这个数据源去,数据也合并进去,即可。(这一步,是为了把sqlserver转mdb)

 

把sqlserver数据库还原回去,再打开你备份好的项目,即可。

 

最后,BeforeConnectOuterDataSource写代码切换数据源到mdb那里。


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


加好友 发短信
等级:幼狐 帖子:72 积分:753 威望:0 精华:0 注册:2013/4/6 22:31:00
  发帖心情 Post By:2018/4/20 16:59:00 [只看该作者]

误会了,不是啊,我不是要永久重定向啊,是临时重定向啊。利用用户扩展属性临时更改数据源
就是在公司打开就指向局域网的SQL,在家里就指向mdb文件。
不可能每次这样操作

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/4/20 17:13:00 [只看该作者]

即便临时重定向,也要表结构一样的mdb文件。请按照2楼步骤去做。


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


加好友 发短信
等级:幼狐 帖子:72 积分:753 威望:0 精华:0 注册:2013/4/6 22:31:00
  发帖心情 Post By:2018/4/20 17:18:00 [只看该作者]

mdb文件是从项目导出来的,应该表结果一样了吧?但是还是各种不断提示错误。例如一楼贴图,不知什么意思。
即使我根据mdb文件的位置修改了连接字符串“Provider=Microsoft.ACE.OLEDB.12.0;Data Source=P:\tools\Foxtable\项目7_工资_原丑陋版\Attachments\salary.mdb;Persist Security Info=False”,为什么还是显示原来的外数据源无法连接错误呢?

[此贴子已经被作者于2018/4/20 17:58:33编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/4/20 18:18:00 [只看该作者]

不是导出就可以的,必须使用2楼的方法处理,才是表结构相同。

 回到顶部