如何使用名为“DATE”的列创建OLEDB表?

时间:2011-01-17 21:46:59

标签: database oledb jet dbase dbo

我们正在使用Microsoft Jet OLEDB提供程序将数据插入旧系统。

此系统要求我们通过创建DBF文件来插入数据,格式为:

employee Numeric (10,0),
jobcode Numeric (10,0),
date date

所以,我们正在做以下事情:

string strConnDbase = @"Provider = Microsoft.Jet.OLEDB.4.0" +
    ";Data Source = " + ruta +
    ";Extended Properties = dBASE IV" +
    ";User ID=Admin;Password=;";

然后,我们运行如下命令:

string sql = "CREATE TABLE 20110112 ( EMPLOYEE Numeric(10,0), JOBCODE Numeric(10,0), DATE Date)";

不幸的是,这个“sql”语句没有运行。 IE,名为“date”的列是关键字,因此我们无法创建表。

我们已尝试转义(单引号和双引号)列名,但这也不起作用。

我们如何构建一个名为“date”的列的表?

谢谢!

- 安东尼

2 个答案:

答案 0 :(得分:3)

尝试使用方括号:

  

创建表20110112(员工   数字(10,0),JOBCODE数字(10,0),   日期[日期])

我没有方便的OLEDB目标,所以这只是猜测,FWIW。

答案 1 :(得分:0)

您无法创建以数字开头的表格......根据保留字词(日期)创建列名称是非常糟糕的做法。

只需添加SOME的前缀......即使它只是“表”的“T”。

创建表T20110112