Foxtable(狐表)用户栏目专家坐堂 → 关于SQL数据转换为本地ACCESS数据的问题


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

主题:关于SQL数据转换为本地ACCESS数据的问题

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


加好友 发短信
等级:三尾狐 帖子:683 积分:4882 威望:0 精华:0 注册:2014/6/15 16:01:00
关于SQL数据转换为本地ACCESS数据的问题  发帖心情 Post By:2016/8/10 8:28:00 [显示全部帖子]

根据帮助的说法,如果要把远程的SQL数据转换为本地的ACCESS数据,只有一个办法:

1.新建一个本地的ACCESS数据库,设置成项目的数据源。

2.将SQL数据重定向为ACCESS数据,这个时候,ACCESS数据为空。

3.将SQL数据库高速导入到ACCESS中。

这里有一个问题,既然项目重定向之后,使用的都是一个空的ACCESS数据库了,如何将SQL数据再复制到ACCESS中,重定向后SQL数据是关闭了,是需要在重定向前将SQL数据保存为一个本地的ACCESS数据吗?

步骤3过程太繁琐了,首先要打开一个ACCESS中的表,然后找到SQL中和ACCESS同名的数据表导入,如果我的数据有100个表,就要导入100次。

上述步骤有什么地方不对吗?


问题2:通过http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=71500&replyID=&skin=1这个帖子里面的代码,其实已经可以把SQL数据库保存为一个带有主键的ACCESS数据库(这里就叫做ACC2吧),字段名和数据都有(或者直接通过SQL管理工具,导出ACCESS数据也行)。我对比过重定向并高速导入的数据,其结构和数据和根据该贴中的方法导出的数据一模一样。
 
此主题相关图片如下:1.png
按此在新窗口浏览图片

但是,直接将ACC2设置成一个数据源(这里面已经有数据),然后将SQL数据库定向到ACC2,或者将SQL数据定向到一个空的ACCESS数据库(这里叫做ACC1),这样能够保证ACC1和ACC2数据结构一样,不同的是ACC2里面有数据,而ACC2只是一个有数据结构的空表。

但是,将ACC1替换成ACC2,打开项目的时候,加载缺显示错误,这是为什么呢?两个数据库结构都一样,而且主键也都一样。


此主题相关图片如下:2.png
按此在新窗口浏览图片
[此贴子已经被作者于2016/8/10 8:38:27编辑过]

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


加好友 发短信
等级:三尾狐 帖子:683 积分:4882 威望:0 精华:0 注册:2014/6/15 16:01:00
  发帖心情 Post By:2016/8/10 8:33:00 [显示全部帖子]

说简单一点:

 

如果要把远程的SQL数据转换为本地的ACCESS数据,除了新建一个空白的数据库,然后重定向,再一个表一个表导入之外,有没有什么办法,直接将SQL数据导出成一个既有字段,又有数据的表,然后将项目数据直接重定向到这个表,而不用一个表一个表的再去复制数据。

 

我的项目中有100个以上的表,怎么复制数据最快?


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


加好友 发短信
等级:三尾狐 帖子:683 积分:4882 威望:0 精华:0 注册:2014/6/15 16:01:00
  发帖心情 Post By:2016/8/10 11:27:00 [显示全部帖子]

红袍老师,我的SQL中有一些表,只有表结构,没有数据,数据通过窗口加载的时候自动从别的表充填过来,如:

 

表:自动_QGC_岩心实验数据_Ro统计表,在引用他的窗口AfterLoad事件中


 
此主题相关图片如下:qq截图20160810112620.png
按此在新窗口浏览图片

 

重定向为内部ACCESS数据之后,这个表在ACCESS中有一个空白表,但是打开项目的时候提示:

  

 


此主题相关图片如下:1.png
按此在新窗口浏览图片

 

项目启动之后,所有的这样的表都没有。

 

而且,错误提示中的“QGC_岩心实验数据_Ro统计表”这个表在我的SQL中也没有,这个是怎么回事?

 


 



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


加好友 发短信
等级:三尾狐 帖子:683 积分:4882 威望:0 精华:0 注册:2014/6/15 16:01:00
  发帖心情 Post By:2016/8/10 12:57:00 [显示全部帖子]

显示有两个数据源名,一个是Local,一个是SQL,
然后显示两个数据源的地址,都是本地的access数据。

因为我的数据源本来有两个,一个是用来储存用户私人的数据,存在本地,另外一个是公共的数据,储存在SQL。
[此贴子已经被作者于2016/8/10 13:25:28编辑过]

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


加好友 发短信
等级:三尾狐 帖子:683 积分:4882 威望:0 精华:0 注册:2014/6/15 16:01:00
  发帖心情 Post By:2016/8/10 13:27:00 [显示全部帖子]

显示有两个数据源名,一个是Local,一个是SQL,
然后显示两个数据源的地址,都是本地的access数据。

因为我的数据源本来有两个,一个是用来储存用户私人的数据,存在本地,另外一个是公共的数据,储存在SQL。

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


加好友 发短信
等级:三尾狐 帖子:683 积分:4882 威望:0 精华:0 注册:2014/6/15 16:01:00
  发帖心情 Post By:2016/8/17 16:46:00 [显示全部帖子]

红袍老师,您看我1楼中的问题2及图片,既然通过重定向然后合并之后的数据表视图和直接用代码批量保存的一模一样,为什么不能用批量导出的数据库直接替换重定向的呢?

重定向然后高速合并之后的生成的Access文件和通过源码批量生成的文件有什么不一样的地方?

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


加好友 发短信
等级:三尾狐 帖子:683 积分:4882 威望:0 精华:0 注册:2014/6/15 16:01:00
  发帖心情 Post By:2016/8/17 16:53:00 [显示全部帖子]

那就太好了,每次100多个表一个一个高速合并,看得我眼镜都花了。
我试试。

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


加好友 发短信
等级:三尾狐 帖子:683 积分:4882 威望:0 精华:0 注册:2014/6/15 16:01:00
  发帖心情 Post By:2016/8/17 17:24:00 [显示全部帖子]

测试成功,我用源码保存的ACCESS中没有_identilfy列和_lock列,我手动添加这两列,将_Identify 列设置成主键,也设置成自动递增的列。
而_Locked列,类型为“是/否”,我看Foxtable保存的Access数据库中,这一列都为数字0,而手动添加_locked的是一个可以勾选的方框,这个会影响日后的使用吗?如图:
这个方框未勾选是不是和Foxtable高速合并生成的Access文件中的0是一样的。



图片点击可在新窗口打开查看此主题相关图片如下:qq截图20160817172338.png
图片点击可在新窗口打开查看

 


 


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20160817172545.png
图片点击可在新窗口打开查看
[此贴子已经被作者于2016/8/17 17:26:15编辑过]

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


加好友 发短信
等级:三尾狐 帖子:683 积分:4882 威望:0 精华:0 注册:2014/6/15 16:01:00
  发帖心情 Post By:2016/8/17 18:09:00 [显示全部帖子]

http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=71500&replyID=&skin=1 红袍老师,这个帖子一楼的方法保存了SQL里面所有的数据,唯一不足之处是把Identyfy和locked设置成数据列了,而且,identy列有数据,通过ACCESS也没法设置成自动编号。能不能在这个代码里面加几句什么命令,让它自动把identyfy设置为自动编号,且设置为主键,把loked设置为逻辑列?

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


加好友 发短信
等级:三尾狐 帖子:683 积分:4882 威望:0 精华:0 注册:2014/6/15 16:01:00
  发帖心情 Post By:2016/8/22 21:05:00 [显示全部帖子]

 红袍老师,下午的数据在导入内部数据的时候条数太多,所以项目无法打开,已经请贵公司的技术人员处理了,修复了项目文件,现在能打开了。
我现在通过SQL管理工具把ACCESS导入SQL中,并且增加了一个_identify的主键,自增类型,都没有问题了。
另外,_locked这一列需要怎么设置啊,我在SQL的表设计中增加了一个_locked列,类型为bit,允许NULL,我把默认设置为0,显示还是NULL,我看别的有数据的行都是False,而我导入的数据的都是NULL,这是怎么回事?
[此贴子已经被作者于2016/8/22 21:34:38编辑过]

 回到顶部
总数 11 1 2 下一页