BCP を使用して SQL Server から抽出したデータがあります。ファイルは ASCII CSV です。
2016-03-03T23:00:00 形式の日付。
抽出を実行すると、取得します
追加情報:
{"diagnosticCode":195887127,"severity":"Error","component":"RUNTIME","source":"User","errorId":"E_RUNTIME_USER_EXTRACT_COLUMN_CONVERSION_INVALID_ERROR","message":"変換しようとすると無効な文字ですcolumn data.","description":"HEX: \"223022\" 入力レコードの変換時に無効な文字です。\n位置: 1 行目、21 列目。","解決":"入力にエラーがないか確認するか、\"silent を使用してください\" 入力内のオーバー (アンダー) サイズの行を無視するように切り替えます。\n\"無効な\" 行を無視するとジョブの結果に影響を与える可能性があり、変換エラーを無視するには型が null 可能である必要があることを考慮してください。","helpLink": ""、"詳細":"================================================== ==========================================\nHEX:5432333B35313B34362D323031362E30332E30335432333B30303B30302D302D352D323031362E30332E30335432333B35313B34392F3536372D302D323031362E30332E3033\n ^\ nTEXT:T23:51:46,2016-03-03T23:00:00,0,5,2016-03-03T23:51:49.567,0,2016-03-03\n
抽出時に日付を適切に処理するにはどうすればよいですか? 日時列の途中で分割されている理由は不明です。
サンプル行は次のようになります
50CA2FBB-95C3-4216-A729-999BE2DB491A,2016-03-03T23:51:49.567,1001464881,1001464795,1001464795,00000000-0000-0000-0000-000000000000,00000000-0000-0000-0000-000000000000,100 ,100 , ,12643,bCAwvRnNVwrKDXKxZkVed2Z1zHY=,o2lsnhueDApmvSbm31mh3aetYnc=,2016-03-03T23:50:46,2016-03-03T23:00:00,2016-03-03T23:51:46,2016-03-03T20,: ,5,2016-03-03T23:51:49.567,0,2016-03-03T00:00:00,2016-03-03T23:59:59,00000000-0000-0000-0000-000000000000
Extract Statement is
@res =
EXTRACT
LicenseId Guid,
EntryDate DateTime,
UltimateId long,
SiteId string,
VirtualId string,
ProjectId Guid,
DocumentId Guid,
MasterId string,
ProductId string,
FeatureString string,
VersionId long,
ComputerSid string,
UserSid string,
AppStartTime DateTime,
StartHour DateTime,
AppStopTime DateTime,
StopHour DateTime,
GmtDelta int,
RecordedGmtDelta int,
LastUpdated DateTime,
Processed bool,
StartDate DateTime,
EndDate DateTime,
ImsId Guid
FROM @dataFile
USING Extractors.Csv();