读书人

困扰中,用ADO连接一个DBF文件提示quot;字段

发布时间: 2012-03-18 13:55:38 作者: rapoo

困扰中,用ADO连接一个DBF文件提示"字段大小过长"?
在C++BUILDER中用ADO连接一个DBF文件提示 "[Microsoft][ODBC dBase Driver]字段大小过长 ",是什么问题?

1.检查数据表结构与代码追加字段的长度,绝对不超长
2.追加同一条数据时(就是新增相同的数据),凡是在装有C++BUILDER 的机器中运行都不会有此提示,并新增成功,但在没有装C++BUILDER 的机器就会有上述提示,追加失败
3.检查装有C++BUILDER 的机器与没有装C++BUILDER 的系统均为XP(SP2)版本,装有C++BUILDER 的机器与没有装C++BUILDER 机器中的MDAC版本均为2.8
4.一个奇怪的现象,没有装C++BUILDER 的机器在安装本公司的另外一个产品后,
再运行用ADO连接一个DBF文件的程序进行测试,不会有此提示,并新增成功,卸掉本公司的另外一个产品后,又会有上述提示,追加失败.

连接串如下:注释的连接串与没有注释的连接串都会有上述提示

/*ADOConnection1-> ConnectionString= "Driver={Microsoft dBASE Driver (*.dbf)}; "
"DriverID=277; "
"Dbq= "+AppPath+ "; ";*/

ADOConnection1-> ConnectionString= "Provider=Microsoft.Jet.OLEDB.4.0; "
"Password= " ";Data Source= "+AppPath+ ";Extended Properties=dBase 5.0; "
"Persist Security Info=True ";

执行代码如下
ADOQuery1-> Close();
ADOQuery1-> SQL-> Text=sSQL;
ADOQuery1-> ExecSQL();


困扰中....

[解决办法]
你使用的数据库引擎错误

1、如果你是通过VFP建立的表,那么得用Microsoft Visual Foxpro Driver,其中又分为数据库模式和文件模式,数据库模式支持长字段名而文件模式不支持
2、dBase连接VFP数据库字段名长度限制是8个字符,你确认没超过,注意是字段名不是字段内容!
[解决办法]
应该是未安装BDE导致的后果

读书人网 >.NET

热点推荐