我们正在使用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”的列的表?
谢谢!
- 安东尼
答案 0 :(得分:3)
尝试使用方括号:
创建表20110112(员工 数字(10,0),JOBCODE数字(10,0), 日期[日期])
我没有方便的OLEDB目标,所以这只是猜测,FWIW。
答案 1 :(得分:0)
您无法创建以数字开头的表格......根据保留字词(日期)创建列名称是非常糟糕的做法。
只需添加SOME的前缀......即使它只是“表”的“T”。
创建表T20110112