[解決済み】一括読み込みデータ変換エラー(指定されたコードページに対して型の不一致または無効な文字)1行目4列目(年)について)
2022-02-13 16:44:07
質問内容
テキストファイルをデータベースにインポートしようとすると、変換エラーが発生します。以下は、私が受け取ったエラーメッセージです。
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')
関連
-
[解決済み】使用されるSELECT文は列の数が異なる(REDUX!)
-
[解決済み】SQL Server: 無効なカラム名
-
[解決済み] テスト
-
[解決済み] ORA-00920: 無効な関係演算子
-
[解決済み] mongoの外部キー?
-
[解決済み] エラー (ORA-00923: 期待された場所に FROM キーワードが見つかりませんでした)
-
[解決済み] SQLエラーです。ORA-00922: オプションがないか無効です。
-
[解決済み] Presto の JSON_EXTRACT で ' ' 文字を含むキーに問題がある。
-
[解決済み] 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ピボット
-
[解決済み】参照するテーブルにプライマリーキーやキャンディデートキーがない
-
[解決済み】テキストが切り捨てられた、または1つ以上の文字がターゲットコードページで一致しない アンピボットの主キーを含む
-
[解決済み] INSERT ステートメントが FOREIGN KEY 制約と競合する - SQL Server
-
[解決済み] アンピボットの主キーを含む対象コードページで、テキストが切り捨てられたか、1つ以上の文字が一致しない。
-
[解決済み] WHERE x IN (5) vs WHERE x = 5 ...なぜINを使うのか?
-
[解決済み] ORA-12801: 並列クエリサーバー P004 および ORA-01555 でシグナルされたエラー: スナップショットが古すぎる。
-
[解決済み] ORA-00920: 無効な関係演算子
-
[解決済み] Varchar は Sum 演算子では無効です。
-
[解決済み] CLOBとNCLOBの違いは何ですか?