[解決済み] 1行目4列目(年)の一括読み込みデータ変換エラー(型の不一致または指定したコードページに対して無効な文字)。
2022-03-04 15:13:04
質問
テキストファイルをデータベースにインポートしようとすると、変換エラーが発生します。以下は、私が受け取ったエラーメッセージです。
1行目4列目(年)の一括読み込みデータ変換エラー(型の不一致または指定されたコードページに対して無効な文字)です。
以下は私のクエリコードです。
CREATE TABLE Students
(
StudentNo Integer NOT NULL Primary Key,
FirstName VARCHAR(40) NOT NULL,
LastName VARCHAR(40) NOT NULL,
Year Integer,
GPA Float NULL
);
以下は、テキストファイルのサンプルデータです。
100,Christoph,Van Gerwen,2011
101,Anar,Cooke,2011
102,Douglis,Rudinow,2008
何が問題なのか分かった気がします。以下は私の一括挿入コードです。
use xta9354
bulk insert xta9354.dbo.Students
from 'd:\userdata\xta9_Students.txt'
with (fieldterminator = ',',rowterminator = '\n')
サンプルデータでは、Year の後に別の属性 Grade が存在し、それが NULL であっても、Year 属性の後に ',' はありません。
どなたか、これを修正する方法を教えてください。
解決方法は?
を使用してみてください。
フォーマットファイル
データファイルが4列しかないため。それ以外の場合は
OPENROWSET
またはステージングテーブルを使用します。
myTestFormatFiles.Fmt
のように見えるかもしれません。
9.0 4 1 SQLINT 0 3 "," 1 StudentNo "" 2 SQLCHAR 0 100 "," 2 FirstName SQL_Latin1_General_CP1_CI_AS 3 SQLCHAR 0 100 "," 3 LastName SQL_Latin1_General_CP1_CI_AS 4 SQLINT 0 4 "\n" 4 Year "
<サブ
(出典
マイクロソフト・ドット・コム
)
このチュートリアル
でのカラムのスキップについて
BULK INSERT
も参考になるかもしれません。
そうすると、文は次のようになります。
USE xta9354
GO
BULK INSERT xta9354.dbo.Students
FROM 'd:\userdata\xta9_Students.txt'
WITH (FORMATFILE = 'C:\myTestFormatFiles.Fmt')
関連
-
[解決済み】データベースへの「ネイティブ」SQL接続を使用するとはどういう意味ですか?
-
[解決済み] 3を挿入すると「ORA-01438: この列で許容される指定精度より大きい値」と表示される。
-
[解決済み] ora-06553 pls-306 'ogc_x' の呼び出しで引数の数または種類が誤っている。
-
[解決済み] varchar 値の変換で int カラムがオーバーフローしました。
-
[解決済み] PostgreSQL - json 型の等値演算子を識別できませんでした。
-
[解決済み] CLOBとNCLOBの違いは何ですか?
-
[解決済み] アクセスクエリーエラー(from句のシンタックスエラー)
-
[解決済み] トリガーがコンパイルエラーで作成される
-
[解決済み] VBA - ADODB.CommandTextの実行
-
[解決済み] ある列の最大値を持つ行を取得する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】集約関数のないTSQLピボット
-
[解決済み] バックエンドバージョンでは、データベースのダイアグラムやテーブルのデザインはサポートされていません。
-
[解決済み】SQL Server サブクエリが1つ以上の値を返しました。サブクエリが =, !=, <, <= , >, >= に続く場合、これは許可されません。
-
[解決済み】INTERSECTとINNER JOINは根本的に違うのか?[重複している]
-
[解決済み】SQL Serverは「集約関数やサブクエリを含む式に対して集約関数を実行できない」が、Sybaseはできる。
-
[解決済み] pg_restoreです。[archiver] 入力ファイルはテキスト形式のダンプであるように見えます。psql を使用してください。
-
[解決済み] Varchar は Sum 演算子では無効です。
-
[解決済み] リンクされたサーバーの NULL に対して OLE DB プロバイダー Microsoft.Jet.OLEDB.4.0 のインスタンスを作成できません。
-
[解決済み] CLOBとNCLOBの違いは何ですか?
-
[解決済み] SQLiteでどのようにピボットするか、つまり、長い形式で保存されたテーブルを広い形式で選択するか?