以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [注意] 外部数据源的问题!!  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=143)

--  作者:reachtone
--  发布时间:2008/9/2 16:12:00
--  [注意] 外部数据源的问题!!
      今天花了半天多时间,按照帮助文件的说明顺序,一鼓气将狐表的基本功能(开发部分除外)全部尝试了一下。感觉确实是很爽:在继承了易表全部优点的基础上,很多功能更加强大了,比如窗口停靠,这界面真的是很漂亮!!尤其是新增的EXCEL报表功能,这太厉害了,实在是好用!

      当然,我关注狐表,更关心的是它对外部数据源的支持。因为,只有使用外部数据源,才能做到真正的程序和数据分离。我用我手上一直在用的SQL Server数据中的一个表做了测试(不到14万条数据),发现有以下问题:

     1、建立外部数据源时,为什么不能把连接字符串信息写入到一个配置文件中呢?因为开发和使用时,SQL数据库的网络环境是不一样的。比如,我现在用狐表开发时,我的数据库服务器是A,用户名、密码是C和D;但项目完成以后,移植到客户那里使用时,他的数据库服务器、用户名、密码等等可能是完全不一样的。
     如果可以把连接字符串信息写到一个配置文件里,那么以后将开发好的项目分发给其它用户使用时,他只要根据自己的数据库服务器重新配置一下这个文件,项目运行时自动读取这个文件就可自动完成外部数据库的连接了。

    2、新增外部数据表时,速度还可以,但新增外部查询表时会出错。以我这个不到14万条的数据表为例,将它新增进入狐表基本是一分钟的时间。以select * from ……这样的查询语句新增外部查询表时,时间也基本是一分钟左右。但如果以select field1,field2.... from table group by之类的方式新增外部查询表的话,总是会出现一些错误提示、新增失败。

    3、在外部数据表新增完成以后,我在狐表中对这个数据表选择两项进行分组、对两项进行统计时,大约在1分钟时出现了“统计表”的字样,又过了大约3分钟才出现统计结果。而同样的统计,在我现在自己编写的应用程序中,只要不到1分钟的时间(用SQL语句完成的)。

    4、在狐表中,我又对这个新增的数据表,分别选择一个水平列和垂直列,对两项指标进行交叉统计。结果是,在5分钟左右时,才出现“统计表”字样,然后一直没有反映。这中间我吃了顿午饭,饭后过来再看,发现是死机了。而同样的统计,通过SQL语句完成的话,时间也就是2分钟左右。

    由此可见,狐表虽然已经可以支持外部数据源,但它在处理大数据量方面还是很欠缺的,速度仍然是个问题。刚才的这种测试还是在局域网中的,如果是远程数据库,那么,这种统计工作肯定更加吃力。另外,弧表在启动时非常慢,这点能否想办法解决。还有就是,帮助文件中,关于SQL语句的介绍,最好是按ACCESS和SQL SERVER两种数据库分别介绍,因为在增加外部查询表时,两种数据库的语法还是有一定差别的。据我所知,“TRANSFORM 统计表达式 SELECT 查询语句 WHERE 条件表达式 GROUP BY 分组语句 Pivot 水平分组”这种语法好象就只在ACCESS中有效。
[此贴子已经被作者于2008-9-2 16:16:09编辑过]

--  作者:reachtone
--  发布时间:2008/9/2 16:19:00
--  
新增外部查询表时,出现的错误提示如下(需要说明的是,该查询命令在SQL查询分析器中是通过的):

图片点击可在新窗口打开查看此主题相关图片如下:snap1.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2008-9-2 16:21:09编辑过]

--  作者:eric803
--  发布时间:2008/9/2 16:21:00
--  

关注!


--  作者:czy
--  发布时间:2008/9/2 16:26:00
--  
1、现在应该是可以的。
我没在网络上测试过,我试过在本机70万的数据库中进行查询,速度好是挺快的。
你的问题我们回答不了,等他爸来解答吧。
--  作者:狐狸爸爸
--  发布时间:2008/9/2 16:33:00
--  
1、提供了打开项目时重新设置链接字符串的功能,你可以编码从配置文件中提取修改。
2、最好不要将10几万数据调入foxtable,大数据量参考“专题 - 大容量数据的管理”,查询表本来不可以新增行的,外部表才可以。至于错误,注意如果是内部表,表名要用大括号括起来,标准的sql 语法,应该不会有问题。
3、foxtable同样支持SQL语言进行统计,请参考QueryBuilder对象,速度不是问题。
4、内部提供的分组统及和交叉统计生成器,是针对普通用户的,灵活简单,但是速度不如QueryBuilder!
5、对于大数据量,用动态加载数据,统计用QueryBuilder
6、帮助的SQL语言已经提醒大家了,这是JET SQL,适合内部表和ACCESS,我会在多加提示的。

谢谢你的意见和提醒。
[此贴子已经被作者于2008-9-2 16:35:16编辑过]

--  作者:eric803
--  发布时间:2008/9/2 16:42:00
--  

刚才连公司ERP数据库, 新增一查询表, 3万条物料编码数据, 预览时正常(等了3份钟左右), 但保存查询表时出错.


--  作者:cpayinyuan
--  发布时间:2008/9/2 16:43:00
--  希望贺老师多多增强FOX对SQL server的支持,只有这样才能实现程序与数据的分离,才能处理大容量的数据!
如题.
--  作者:狐狸爸爸
--  发布时间:2008/9/2 16:44:00
--  

就是设置好SQL语句,单击确定按钮出错?
错误提示是什么?


--  作者:狐狸爸爸
--  发布时间:2008/9/2 16:44:00
--  
能不能贴出sql语句?
--  作者:狐狸爸爸
--  发布时间:2008/9/2 16:47:00
--  

远程的数据查询表,最好限制数据加载量,本省有一个传输速度问题
但是出错不应该的。