インポート ウィザードを使用して、Excel から SQL Server にデータをインポートしようとしています。最初のステップではすべて問題ないようです。ウィザードは、Excel ファイルを読み取り、列を適切に識別することができます。しかし、プロセスが実際に実行される最後のステップでは、次のエラーが発生して失敗します。
エラー 0xc020901c: データ フロー タスク 1: 出力 "Excel ソース出力" (9) の出力列 "AlternateName" (24) でエラーが発生しました。返された列のステータスは、「テキストが切り捨てられたか、1 つ以上の文字がターゲット コード ページで一致しませんでした。」でした。(SQL Server インポートおよびエクスポート ウィザード)
エラー 0xc020902a: データ フロー タスク 1: 切り捨てが発生したため、"出力列 "AlternateName" (24)" が失敗しました。指定されたコンポーネントの指定されたオブジェクトで切り捨てエラーが発生しました。(SQL Server インポートおよびエクスポート ウィザード)
エラー 0xc0047038: データ フロー タスク 1: SSIS エラー コード DTS_E_PRIMEOUTPUTFAILED. コンポーネント "Source - Sheet1$" (1) の PrimeOutput メソッドがエラー コード 0xC020902A を返しました。パイプライン エンジンが PrimeOutput() を呼び出したときに、コンポーネントがエラー コードを返しました。エラー コードの意味はコンポーネントによって定義されますが、エラーは致命的であり、パイプラインは実行を停止しました。これより前に、失敗に関する詳細情報を含むエラー メッセージが投稿される場合があります。(SQL Server インポートおよびエクスポート ウィザード)
列 AlternateName の最大データ長は 658 文字です。宛先テーブルには、varchar(1000) として定義された列 AlternateName があります。そのため、なぜこのエラーが発生するのかわかりませんでした。しかし、その後、私はこれに気づきました
これが問題を引き起こしている可能性があるという予感があります。しかし、 varchar 255 として定義された Source 列を変更するにはどうすればよいでしょうか?