以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 能把SQL数据源临时切换成本地mdb数据源吗? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=39141) |
-- 作者:jacksn -- 发布时间:2013/8/16 15:26:00 -- 能把SQL数据源临时切换成本地mdb数据源吗? 我的项目使用SQL数据源。我已经在beforeconnectouterdatasource事件中成功进行了局域网和互联网数据源的切换。但当网络不通时,远程数据源不能连接,希望能用mdb文件做数据源,应该怎样设置呢? 也就是说,把外部表的数据源由SQL改为mdb文件,可以这样做吗?
|
-- 作者:Bin -- 发布时间:2013/8/16 15:27:00 -- beforeconnectouterdatasource中更改一下连接字符串 改为这个MDB文件的连接字符串即可. 不过随之会有一些小问题,对应的SQL函数ACCESS不一定有,就会报错, 日期也会报错 一个是用单引号 一个是用#号
|
-- 作者:jacksn -- 发布时间:2013/8/16 16:34:00 -- 不行啊,我就是改为mdb的字符串的,一样报错,代码如下:即使用手动,或断网后用自动都错。我觉得是否还有些步骤未做?因为外部表指向数据源为SQL,但是下面的代码好像无说明哪个外部表更改了数据源。 Dim ds As String = e.Name \'data source Dim cs As String = "Provider=SQLOLEDB.1;Password=123456;Persist Security Info=True;User ID=tphfoxtable" Dim ex As String = e.User.ExtendedValues("数据源") Select Case ex Case "局域网" e.ConnectionString = cs & ";Data Source=rhlserver" Case "互联网" e.ConnectionString = cs & ";Data Source=rhlgz.vip.cc" Case "本地" If FileSys.DirectoryExists("J:\\Tools\\FoxTable\\项目1_天平行数据库系统\\Attachments\\备用外数据源2.mdb") Then e.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source = J:\\Tools\\FoxTable\\项目1_天平行数据库系统\\Attachments\\备用外数据源2.mdb;Persist Security Info=False" End If Case "手动" e.EditConnectionString() Case "自动" If Network.Ping("192.168.1.16") = True Then \'如果局域网接通 e.ConnectionString = cs & ";Data Source=rhlserver" ElseIf Network.Ping("rhlgz.vicp.cc") = True Then \'采用互联网数据库 e.ConnectionString = cs & ";Data Source=rhlgz.vip.cc" Else \'如果互联网无法接通,采用本地数据库 If FileSys.DirectoryExists("J:\\Tools\\FoxTable\\项目1_天平行数据库系统\\Attachments\\备用外数据源2.mdb") Then If FileSys.DirectoryExists("J:\\Tools\\FoxTable\\项目1_天平行数据库系统\\Attachments\\备用外数据源2.mdb") Then e.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source = J:\\Tools\\FoxTable\\项目1_天平行数据库系统\\Attachments\\备用外数据源2.mdb;Persist Security Info=False" End If End If End Select 不是连接字符串的问题,已经正确连接到mdb了,但是似乎外部表有问题。mdb文件结构跟sql一样的,其实就是由SQL导出来的。 [此贴子已经被作者于2013-8-16 17:31:10编辑过]
|
-- 作者:Bin -- 发布时间:2013/8/16 16:46:00 -- 报什么错? 你的代码和谐了. 可能你设置的连接字符串不对. |