以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]怎样把SQL外数据源临时改为mdb文件?  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=117897)

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

--  作者:有点甜
--  发布时间:2018/4/20 15:46:00
--  

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

 

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

 

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

 

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


--  作者:jacksnfeng
--  发布时间:2018/4/20 16:59:00
--  
误会了,不是啊,我不是要永久重定向啊,是临时重定向啊。利用用户扩展属性临时更改数据源
就是在公司打开就指向局域网的SQL,在家里就指向mdb文件。
不可能每次这样操作

--  作者:有点甜
--  发布时间:2018/4/20 17:13:00
--  

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


--  作者:jacksnfeng
--  发布时间: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编辑过]

--  作者:有点甜
--  发布时间:2018/4/20 18:18:00
--  
不是导出就可以的,必须使用2楼的方法处理,才是表结构相同。