使用Microsoft dbase III驱动程序和数字字段宽度创建表

时间:2012-09-11 16:04:46

标签: database odbc dbase

我正在dbase III(* .dbf)文件中创建一个表。一切正常,但有些数字列需要特定的宽度和精度。如果我在CREATE TABLE语法中添加宽度和精度,例如,HEIGHT NUMERIC(8,2)则它不起作用。我试过两个连接字符串......

CString connString = "Driver={Microsoft dBASE Driver (*.dbf)};DriverID=277;Dbq=" + directory;
CString connString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + directory + ";Extended Properties=dBASE III;";

当我尝试创建表时,第一个将导致错误,第二个将允许我创建表,但没有应用于生成的dbf文件的宽度或精度。

odbc creat table语句的错误是...... 代码= 80040e14     代码含义= IDispatch错误#3092源=用于ODBC驱动程序的Microsoft OLE DB提供程序     说明= [Microsoft] [ODBC dBase驱动程序] CREATE TABLE语句中的语法错误。

任何人都知道我应该使用什么来创建具有特定字段宽度和精度的dbf(dbaseIII)文件? 感谢。

1 个答案:

答案 0 :(得分:0)

我迟到了,抱歉;)

我想,你不能。请查看ODBC Data Types

  

虽然dBASE允许使用NUMERIC数据类型指定精度和小数位数,但ODBC dBASE驱动程序不支持它。对于NUMERIC数据类型,ODBC dBASE驱动程序始终返回精度15和0的缩放。