3

私は C# でデータを 1 つのデータベースから中間に移動し、最終的にデータを移動するデータ統合ツールを作成しています。必要なデータベース クエリを SQL CE データベースに格納し、クエリの 1 つをテーブルに挿入しようとしています。受け取る:

メジャー エラー 0x80040E14、マイナー エラー 25508 "Myquery" 指定されたトークンが長すぎます。最大長は 128 文字です。[ トークンの最大サイズ (既知の場合) = 128、トークン (既知の場合) = "クエリの一部"

クエリ:

update SqlQueries Set Query = "CREATE TABLE [dbo].[ASI_SYBranch](
BranchName char(255),
BranchLogoName char(255),
NoteText TEXT,
BranchID char(30),
Active bit,
CoLocationName char(255),
City char(50),
Country char(2),
State char(50),
CoNoteText TEXT,
CoLocationID char(10),
Warehouse char(10),
LocationName char(255),
TaxRegID char(50),
TaxZoneID char(10),
ShipComplete bit,
LocationID char(10),
SameasMainInfo bit,
BranchAddrLine1 char(50),
BranchAddrLine2 char(50),
BranchCity char(50),
BranchCountry char(2),
BranchState char(50),
BranchPostalCode char(20),
BranchBusinessName char(255),
BranchAttention char(255),
BranchEmail char(255),
BranchWeb char(255),
BranchPhone1 char(50),
BranchPhone2 char(50),
BranchFax char(50),
SameasMainAddr bit,
LocBusinessName char(255),
LocAttention char(255),
LocEmail char(255),
LocWeb char(255),
LocPhone1 char(50),
LocPhone2 char(50),
LocFax char(50),
LocAddrLine1 char(50),
LocAddrLine2 char(50),
LocCity char(50),
LocCountry char(2),
LocState char(50),
LocPostalCode char(20),
DefaultCountry char(2),
AccessRole char(64),
LocTaxRegID char(50),
SalesSub char(30),
ExpenseSub char(30),
FreightSub char(30),
DiscountSub char(30),
CuryGainLossSub char(30),
Description char(60),
CurySymbol char(10),
DecimalPrecision smallint,
BaseCurrencyID char(5),
PhoneMask char(50))
GO" Where RefNum = 3

テーブル スキーマ:

RefNum          Int
Description     nvarchar
Query           ntext (I tried nvarchar max also)

これは、SQL ステートメントの長さのせいである可能性がある/不可能であると述べている競合する記事を見つけました。

質問:

1. これは本当ですか?
2. その場合、どうすれば回避できますか?

答え:

SQLステートメント内にタブと改行があるため、最終的にはそうなりました

4

2 に答える 2

0

データベースのテキスト フィールドの長さに制限があるようです。テキストを 128 文字の長い文字列に分割するか、テーブルのスキーマを変更してより長い文字列を許可する必要があります。

テーブル スキーマと、挿入しようとしているデータの例を示していただけますか?

于 2012-09-18T19:48:15.423 に答える
0

SqlCe は Unicode 専用のデータベースです。そのため、主に CREATE TABLE 操作内で VARCHAR フィールドを使用している場合は、NVARCHAR データ型に変更する必要があります。そうしないと、そのエラーが発生する可能性があります。

編集:これは CHAR フィールドにも当てはまります...

于 2012-09-18T19:53:01.073 に答える