0

こんにちは、作成したテーブルに .dat ファイル (sybase からアンロード) からデータを一括挿入しようとしています。

テーブル定義は次のとおりです。

CREATE TABLE dbo."GCK_KioskSetupOptions" (
  "SMTPIPAddress"         varchar(128) NULL
  ,"SMTPPort"            varchar(20) NULL
  ,"POP3IPAddress"         varchar(128) NULL
  ,"POP3Port"            varchar(20) NULL
  ,"AutoLogOffDelay"        integer NULL
  ,"AllowUserToPrint"        bit NOT NULL
  ,"AllowAttachment"        bit NOT NULL
  ,"MaxMessageSize"         integer NULL
  ,"BillingCodeOptionID"      integer NOT NULL
  ,"MaxMessage"           integer NULL
  ,"AllowUserToImport"       bit NOT NULL
  ,"ProtectUserWithPassword"    varchar(50) NULL
  ,"DefaultEncoding"        varchar(50) NULL
  ,"EnableMessageLimit"       bit NULL
  ,"GlobalMessageLimit"       integer NULL DEFAULT 30
  ,"AllowSetMessagePriority"    bit NOT NULL DEFAULT 0
)
go

上記のテーブルに挿入する必要がある .dat ファイルには (データベースが空のため) 1 行しかありません。

.dat ファイルのデータ形式は次のとおりです。

'127.0.0.1','25','127.0.0.1','110',10,1,1,400,2,250,1,

これが一括挿入コマンドです

BULK
INSERT GCK_KioskSetupOptions
FROM 'C:\Program Files\Globe Wireless\WebMail\Database\Defaults\Data\404.dat'
WITH
(
  FIELDTERMINATOR = ',',
  ROWTERMINATOR = '\n'
)
GO

SQLServer Management Studio でこのコマンドを実行すると、これらのエラーが発生します メッセージ 4832、レベル 16、状態 1、行 2 バルク ロード: データ ファイルで予期しないファイルの終わりが検出されました。メッセージ 7399、レベル 16、状態 1、行 2 リンク サーバー "(null)" の OLE DB プロバイダー "BULK" がエラーを報告しました。プロバイダーは、エラーに関する情報を提供しませんでした。メッセージ 7330、レベル 16、状態 2、行 2 リンク サーバー "(null)" の OLE DB プロバイダー "BULK" から行をフェッチできません。

この問題の解決を手伝ってくれる人はいますか?.私は実際に Sybase SQL Anywhere 11 から SQL Server 2008 R2 Express へのデータ移行を行っています。テーブル。

ありがとうございました

4

1 に答える 1

0

見たところ、サンプル データ ファイルにはすべてのフィールドがありますが、テーブルには 16 列あります。

入力をデフォルトで埋める必要があると思います。

ただの代わりに

'127.0.0.1','25','127.0.0.1','110',10,1,1,400,2,250,1,

あなたが必要

'127.0.0.1','25','127.0.0.1','110',10,1,1,400,2,250,1,,,,,

于 2011-07-22T13:24:26.913 に答える