Foxtable(狐表)用户栏目专家坐堂 → 怎样把互联网数据源随时切换为本机数据源


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

主题:怎样把互联网数据源随时切换为本机数据源

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


加好友 发短信
等级:幼狐 帖子:106 积分:1002 威望:0 精华:0 注册:2012/9/6 14:13:00
怎样把互联网数据源随时切换为本机数据源  发帖心情 Post By:2013/11/9 10:12:00 [只看该作者]

平时我在公司用开发版进行设计,连接公司的SQL数据库(局域网方式),周六日在家里设计,因为有时公司会停电,不能通过互联网连接公司服务器的SQL,我尝试更改数据源为移动硬盘上的一个MDB文件,但是屡次尝试都不成功。——我的MDB文件已经设置了和SQL一模一样的几个表。这种情况该如何处理呢?请有这方面经验的高手指教!谢谢
BTW:主键列已经有_Identify列(自动增量型)和"_Locked"列。
[此贴子已经被作者于2013-11-9 10:14:57编辑过]

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/11/9 10:19:00 [只看该作者]

如果表结构完全一致,更改为MDB文件后应该也是可以正常运作的. 除开涉及到ACCESS不支持的SQL语句

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


加好友 发短信
等级:幼狐 帖子:106 积分:1002 威望:0 精华:0 注册:2012/9/6 14:13:00
  发帖心情 Post By:2013/11/9 11:34:00 [只看该作者]

这个是项目事件代码,请看是否有何问题(用户有一个“数据源”属性)

BeforeConnectOuterDataSource

'''选择数据源

Dim ds As String = e.Name 'data source

Dim cs As String = "Provider=SQLOLEDB.1;Password=****;Persist Security Info=True;User ID=foxtable"

Dim ex As String = e.User.ExtendedValues("数据源")

Select Case ex

    Case "局域网"

        e.ConnectionString = cs & ";Data Source=rhl-server"

    Case "互联网"

        e.ConnectionString = cs & ";Data Source=rhlgzedg.vicp.cc"

    Case "本地"

e.ConnectionString  = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source = J:\Tools\FoxTable\项目1_天平行数据库系统\Attachments\备用外数据源2.mdb;Persist Security Info=False"

    Case "手动"

        e.EditConnectionString()

    Case "自动"

        If Network.Ping("192.168.1.16") = True  Then '如果局域网接通

            e.ConnectionString = cs & ";Data Source=rhl-server"

        ElseIf Network.Ping("rhlgz.vicp.cc") = True  Then '采用互联网数据库

            e.ConnectionString = cs  & ";Data Source=rhlgzdeg.vicp.cc"

        Else '如果互联网无法接通,采用本地数据库

e.ConnectionString  = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source = J:\Tools\FoxTable\项目1_天平行数据库系统\Attachments\备用外数据源2.mdb;Persist Security Info=False"

        End If

End Select

[此贴子已经被作者于2013-11-10 20:24:57编辑过]

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/11/9 11:37:00 [只看该作者]

你后面的代码和谐了呢,你要确保你ACCESS连接字符串正确哦, ACCESS的连接字符串和SQL是不一样的.

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


加好友 发短信
等级:六尾狐 帖子:1294 积分:9852 威望:0 精华:0 注册:2012/9/19 21:13:00
  发帖心情 Post By:2013/11/9 18:15:00 [只看该作者]

一台机也可设置局域网,但必须保证能上网 。公司局域网数据库ip以及计算机名必须设置成和家里一样,路径也要一样,项目不论在局域网还是家里操作是一样的。
[此贴子已经被作者于2013-11-9 18:19:24编辑过]

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


加好友 发短信
等级:幼狐 帖子:106 积分:1002 威望:0 精华:0 注册:2012/9/6 14:13:00
  发帖心情 Post By:2013/11/10 20:28:00 [只看该作者]

被河蟹的代码补上去了。不知道是否这论坛的bug,它居然会象word的错误检查一样在我的某些单词下加个红色下划线,然后把后面的内容删除掉,尝试了很多次才能补上去。
SQL和ACCESS的连接代码当然是不同的,我都是从软件自己生成的代码复制过来的不会有错。
另,楼上的应该没明白我的意思。
[此贴子已经被作者于2013-11-10 20:29:30编辑过]

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


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

 设置不成功,有没有提示什么错误?还是在使用的过程中出错?

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


加好友 发短信
等级:幼狐 帖子:106 积分:1002 威望:0 精华:0 注册:2012/9/6 14:13:00
  发帖心情 Post By:2013/11/10 22:41:00 [只看该作者]

先是这两个提示,我可以理解:
图片点击可在新窗口打开查看此主题相关图片如下:1.jpg
图片点击可在新窗口打开查看
图片点击可在新窗口打开查看此主题相关图片如下:2.jpg
图片点击可在新窗口打开查看
然后下面这些提示,每个表都会出现:

图片点击可在新窗口打开查看此主题相关图片如下:3.jpg
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:4.jpg
图片点击可在新窗口打开查看
再后这个发不出(超过三个附件,很晕啊),下一个贴贴出来:




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


加好友 发短信
等级:幼狐 帖子:106 积分:1002 威望:0 精华:0 注册:2012/9/6 14:13:00
  发帖心情 Post By:2013/11/10 22:42:00 [只看该作者]

再后是这个:
图片点击可在新窗口打开查看此主题相关图片如下:32.jpg
图片点击可在新窗口打开查看

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


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

 建议你先这样做。

 测试每一个数据源用菜单的添加数据源的方法设置,看是否提示错误,直到不提示错误,再编写事件。

 如果设置可以成功,那么编写代码也是肯定可以成功的。看你的代码思路基本正确,慢慢调试吧。

 回到顶部
总数 22 1 2 3 下一页