同样是Table通过ODBC连dBase数据库,win98和win2000之间,差距咋这么大泥?1、
目的:使用 DBGrid、DataSource、Table 各一,连接到一个已有的 dBaseIII ODBC 数据源上。2、
先说在 windows 2000 下的情况。在“ODBC数据源管理器”建立“用户DSN”,数据源驱动使用“Microsoft dBase Driver (*.dbf)” 。数据源名称,比如设定为“BBB”。数据库版本是使用“dBaseIII”。最后,目录设定在数据表(一个dBaseIII的dbf文件)所在目录。接下来,说放在Form上的三个控件。DBGrid1 的 DataSorce 为 DataSource1。DataSource1 的 Dataset 为 Table1。Table1 的 DatabaseName 选择我们的数据源“BBB”。 当设定Table1的TableName 时,会弹出一个密码输入窗口,因为我没有什么密码嘛,所以直接敲确定。然后,在TableName属性处,顺利显示下拉列表,也就是,显示了上面我设定的目录下,所有的dbf文件。从中,我选中我要用的dbf文件。最后,把Table1的Active设为 true ,DBGrid1 里顺利显示数据表内容。
由此可知,在2000下,一切正常。3、
但到win98SE下,做上面的流程时,到了密码弹出窗口那一步,单击确定之后,鼠标变成SQL沙漏,然后就开发工具就不动死掉了,只能通过“任务管理器”强行结束。在win98下,我安装了MDAC 2.8后,结果也没有任何不同。我在win2000和win98SE下,都安装了Delphi 7.0 和 c++Builder 5.0 (已打补丁),进行了同样的实验,结果都是这样。把俺弄糊涂了,到底是什么原因?操作系统?ODBC?还是开发工具的BUG???不清楚,这是为什么,哪位大虾指点迷津?

解决方案 »

  1.   

    应该是ODBC的问题,专门针对Dbase的dll可能太老
    你可以考虑用BDE来搞定
      

  2.   

    to 豆豆糖:
    我在win98下已经重新安装了 MDAC 2.8 ,情况依旧。我自己也考虑大概是ODBC在win98下,对dBaseIII的支持,出了问题。好,我会用BDE尝试一下。
      

  3.   

    to 豆豆糖:
    我在win98下已经重新安装了 MDAC 2.8 ,情况依旧。我自己也考虑大概是ODBC在win98下,对dBaseIII的支持,出了问题。好,我会用BDE尝试一下。
      

  4.   

    MDAC2.8好像是ADO 和OleDB的dll文件吧,不包括odbc了