0

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、「日付」という名前の列がキーワードであるため、テーブルを作成できません。

列名をエスケープ (一重引用符と二重引用符) しようとしましたが、それもうまくいきません。

「日付」という名前の列を含むテーブルを作成するにはどうすればよいですか?

ありがとう!

-- アンソニー

4

2 に答える 2

3

Try square brackets:

CREATE TABLE 20110112 ( EMPLOYEE Numeric(10,0), JOBCODE Numeric(10,0), DATE [Date])

I don't have an OLEDB target handy, so this is just a guess, FWIW.

于 2011-01-17T21:52:39.797 に答える
0

数字で始まるテーブルを作成することはできません...そして、予約語 (日付) に基づいて列名を作成するのは本当に悪い習慣です。

「テーブル」の「T」だけであっても、SOMEthing を前に付けるだけです。

テーブル作成 T20110112

于 2011-02-08T02:19:37.713 に答える