[解決済み】フラットファイルの日付カラムで「キャスト指定に無効な文字値があります」を修正する方法とは?
質問
CSVファイルで、各行が{LF}で区切られ、日付の列が次のような書式で記述されているものがあります。
"12/20/2010"
(引用符を含む)
保存先のカラムは、SQL Server 2008データベースの日付型(datetimeではない)のテーブルです。
フラットファイル接続マネージャで、日付カラムのデータ型は、以下のように設定しました。
date [DT_DATE]
で、TextQualifiedをtrueに設定し、列の区切り記号を
{LF}
(それは各行の最後の列です)。テキスト修飾子を
"
これをOLEデスティネーションに読み込もうとすると、以下のエラーが発生します。
[trn_dorps [760]]です。エラーです。SSISエラーコードDTS_E_OLEDBERROR。 OLE DB エラーが発生しました。エラーコードです。0x80004005. OLE DBレコードが利用可能です。 出典 "Microsoft OLE DB Provider for SQL Server" Hresult: 0x80004005 Description: "キャスト指定の文字値が無効です". [trn_dorps [760]]です。エラーです。入力カラム ""CYCLE_DATE"" にエラーが発生しました。入力「OLE DB宛先入力」(773)上の「OLE DB宛先入力」(874)を参照してください。返された列のステータスは次のとおりです。"データを失う可能性があるため、値を変換できませんでした"。
データビューアを付けると、パイプラインの値が
2010-12-20 00:00:00.0000000
- は、この時間成分が原因なのでしょうか?この時間成分を除去するために
(DT_DATE)(DT_DBDATE)[CYCLE_DATE]
が、パイプラインの中では同じままなので意味がない
解決方法
最終的には、フラットファイル接続のカラムタイプを "データベース日付 [DT_DBDATE]" に設定することで解決できました。
どうやら、これらの日付フォーマットの違いは、以下のようなものらしい。
DT_DATE 年、月、日、からなる日付構造。 と時間 {のようなものです。 .
DT_DBDATE 年、月、日の3つからなる日付構造。
DT_DBTIMESTAMP 年、月、時、分、秒、端数からなるタイムスタンプ構造体
カラムタイプをDT_DBDATEに変更することで、問題は解決しました。データビューアを添付したところ、CYCLE_DATEの値は時間の要素を含まない単なる「2010/12/20」となり、どうやら問題は解決したようです。
関連
-
[解決済み] サブレポートが表示されない。サブレポートは別々に動作します - メインレポートとは連動しません
-
[解決済み] 階層テーブルの設計
-
[解決済み] SQL Server : ログインに成功しましたが、「データベース [dbName] にアクセスできません。(ObjectExplorer) "と表示されました。
-
[解決済み] SSRS 2つ目の文字列の前にある文字列から部分文字列を抽出する
-
[解決済み] 累積和の求め方
-
[解決済み] SQL Server : varchar を INT に変換する。
-
[解決済み] 条件付きJOINステートメント SQL Server
-
[解決済み] SQL Serverでforeachを記述する方法とは?
-
[解決済み] 日付から年内の週番号を取得する
-
[解決済み] SQL Serverでマテリアライズド・ビューを作成する方法は?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 更新時のSqlエラー : UPDATE ステートメントが FOREIGN KEY 制約と競合しています。
-
[解決済み] SQL Serverで小数点の後に2桁の数字を表示させる方法
-
[解決済み] 管理者ユーザーで有効なxp_cmdshellへのアクセスが拒否されました。
-
[解決済み] MS SQL Server 2005で行のSNoを自動的に設定する方法は?
-
[解決済み] 分散型トランザクションを開始できない
-
[解決済み] データ損失の可能性があるため、スキーマの更新を終了します。
-
[解決済み] SQL Server の .sql ファイルとは何ですか?
-
[解決済み] シンプルに保つ、クエリで複数のCTEを行う方法
-
[解決済み] SQL Server のストアドプロシージャを SQL Developer で実行するには?
-
[解決済み] SQL Server Management StudioでIntelliSenseが機能しない