こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

SQLサーバーにcsv.ファイルをインポート

ACCESSデータベースをSQLサーバーへアップサイジングに挑戦しています。
csvファイルの取り込みについて質問させてください。

Accessでは、

DoCmd.TransferText acImportDelim, "○○インポート定義", "○○データ読込", filepath

として、インポートしていました。

アップサイズ後、同じようにインポート定義を設定しようと思ったのですが、
ウイザードで設定できないのです。( 設定ボタンがグレーアウトしている。)
それで、インポート定義なしでやってみたところ、
文字列フィールドで"00001"の表記が、すべて0が消えて"1"になってしまいます。
インポート後のテーブルのデータ型も、nvarcherになっているのですが・・

正しいデータ型でインポートするにはどうすればよいでしょうか?
よろしくお願いいたします。

投稿日時 - 2012-07-10 22:27:11

QNo.7583291

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

ANo.1

既に一度インポートしたのであればテーブルは出来てるんだから
EnterpriseManagerでテーブル定義を変えて、レコード全部削除してから再度インポートするとか。

DTS(データ変換サービス)では定義できませんでしたっけ?

投稿日時 - 2012-07-10 23:50:01

補足

早速ご回答いただきありがとうございます。

書き忘れましたが、SQLは2005で、Management Studio のインポートウイザードを使えば正しくインポートすることはできます。これを、VBAで行う場合にうまくいかないのです。
ウイザードを使った際に、「SSISパッケージの保存」というのがあるのですが、これが「インポート定義」のことなのでしょうか?

あと、「DTS」というのは初めて知りまして、色々調べてみたのですが、よくわかりません。
初心者のため、たいへん申し訳ありません。
もう少し、詳しくご説明いただければとてもうれしいです。

投稿日時 - 2012-07-11 22:19:42

あなたにオススメの質問