- 締切済み
SQL serverへのインポートについて
SQL Serverのデータベースを別のPCに移行する必要が出て、Excelファイルにエクスポートしたのですが、新しいPCへのインポートでエラーになってしまいます。 【旧PC】 Windows XP (エディションは不明)+SQL Server 2008 【新PC】 Windows 7 professional + SQL Server 2014 Express ※技術習得を兼ねているためとりあえず無料版を使用 詳細は以下の通りです。 ○手順 1.【旧】からExcelへエクスポート ・[データマッピングの確認画面]で"失敗した可能性のあるcharからVarCharへの変換"と表示。 ・Excelファイルを確認した限りだと、値そのものは正しくエクスポートされている。 2.【旧】のデータベースをスクリプト化 3.【新】のコマンドラインで2.のスクリプトを実行(sqlcmd) ・データベースの構成が正しく移行されている事は確認済み。 4.Excelから【新】へインポート ○結果 複数のテーブルで変換エラーが発生し、処理を停止。 ○補足事項 ・フラットファイルにエクスポートすると、正しくインポートされる。 (但し手順1と同じ画面で同じ警告が表示される) 最初はエクスポート時の警告を疑ったのですが、フラットファイルからは正しくインポートできたので、それが原因では無さそうです。ただそれだと手間なので、どうにかしてExcel経由で移行したいと思っています。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- sujino
- ベストアンサー率30% (3/10)
私も初心者なので、回答が正しいか定かではないですが、私のやり方は、 SQL MagagementStudeo に両方とDBが読めるように設定。 ※両方のDBに外部からのアクセス権限付与 新しいDB側で、タスク→データインポート→必要テーブル選択→実行 テーブル構造自体を、複製してくれるので便利です。
回答Noです。 EXCELを使用する目的がチェックであるのであれば、別案と して、発想を転換してインポート/エクスポートはフラット ファイルで実行して、インポート後に【新】からEXCEL出力 してチェックという考え方もあります。 (インポートに失敗していた場合は【新】を消して簡単にやり 直しすることが前提ですが) なお、EXCLEでインポートがうまくいかないのは、出力時に "失敗した可能性のあるcharからVarCharへの変換" などの データ変換が勝手に実行されるからです。EXCELを使う以上、 これを防ぐことはできないので、インポートには使えないと いう結論になります。
EXCEL をインポート/エクスポートの中間ファイルに使うこと 自体に無理があります。伝言ゲームをするときに、間にカタコト でしか日本語がしゃべれない人を挟んでいるようなものです。 むしろ、インポート/エクスポート自体はCSV形式などを使用 して、チェックは出力したファイルを EXCELで開くようにした ほうが良いでしょう。
補足
Excelを介するのは、チェックのためではなくテーブルの数が多くて手間だからです。フラットファイルだとテーブル単位なので、できるなら全てのテーブルを一度に移したいです。
補足
Excelを介するのは、チェックのためではなくテーブルの数が多くて手間だからです。フラットファイルだとテーブル単位なので、できるなら全てのテーブルを一度に移したいです。