プロが教えるわが家の防犯対策術!

SqlServerの「インポートおよびエクスポート」ウィザードで
エクセルのデータをインポートする時に起こりました。

nvarchar(8) のフィールドに
Double型のデータのインポートはうまくいきました。

nvarchar(8) のフィールドに
VarChar型のデータのインポートはうまくいきました。

ですが、VarChar型とDouble型が混在しているとタイトルにあるエラーが起こりました。
エクセルで数値データが入っているとインポートウィザードでは勝手にDoubleにするらしく
回避する方法がわかりません。

どうすればいいでしょうか?

A 回答 (2件)

確かに「なぜ」なのかは不明ですが、情報が足りないのかも知れません。

(SQLServer、Excelのバージョンやデータの中身等)
現状、質問から読み取れる内容でやってみた画像を添付しておきます。
ちなみに、SQLServer2008、Excel2003です。
画像中の「B列」が数値と文字データが混在する列です。当方では「'」がないデータはDoubleと認識しますが、「'」を付けたデータではVarCharと認識されました。
「値がこの列の整合性制約に違反しました」の回答画像2
    • good
    • 1
この回答へのお礼

再度試してみたところ、ちゃんとVarCharと認識してくれました。
色々試していたのでどこかで抜けがあったのかもしれません。

無事に文字データとして認識しました。

ありがとうございました。

お礼日時:2012/07/04 09:02

セルの値の先頭に「'」を追加して文字列データとして認識させてみてはどうでしょう。

    • good
    • 0
この回答へのお礼

回答有り難うございます。

ですが、セルの値の先頭に「’」を追加しても、
SqlServerの「インポートおよびエクスポート」ウィザードでは、
なぜか、数値データ(Double型)として認識してしまいます。

他の手段はないでしょうか?

お礼日時:2012/07/03 22:32

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す