none
SQL Server 2005のクエリからBCP実行時、日本語の列名が理解されない。 RRS feed

  • 質問

  • SQL Server 2005のクエリからBCP実行時、日本語の列名が理解されない。

    クエリを開き
    下記を実行
    ① exec master.dbo.xp_cmdshell 'bcp "select 内容 from ABC..LMN001 order by ソートNo" queryout c:\abc.txt /Uxx /Pxx'
    実行結果:エラー
     bcp Error = [Microsoft][SQL Native Client][SQL Server]列名 '???????' は無効です。

    ②exec master.dbo.xp_cmdshell 'bcp "select NAIYOU from ABC..LMN001 order by SORTNo" queryout c:\abc.txt /Uxx /Pxx'
    実行結果:正常

    どうも全角が入るとエラーとなってしまいます。
    どこかの設定で回避できますでしょうか?

    どなたか
    よろしくお願いします。
    2009年12月25日 5:48

回答

  • SQLSERVERのサーバのプロパティ

    全般にあるサーバー照合順序を

    SQL_Latin1_General_CP1_CI_AS

    にすることで解決しました。

    • 回答としてマーク 菊地俊介 2010年3月31日 9:17
    2010年3月25日 0:12

すべての返信

  • [ソートNo] のように括弧で囲むとどうでしょうか?
    2009年12月25日 6:21
  • 残念ながら[]つけても同じです

    たとえば
    exec master.dbo.xp_cmdshell 'dir c:\フォルダ1'
    だと正常に実行できるので
    クエリからxp_cmdshellとBCPの組み合わせ時に
    何か要因があるのではないかと
    思います。。。

     
    2009年12月26日 7:03
  • SQLSERVERのサーバのプロパティ

    全般にあるサーバー照合順序を

    SQL_Latin1_General_CP1_CI_AS

    にすることで解決しました。

    • 回答としてマーク 菊地俊介 2010年3月31日 9:17
    2010年3月25日 0:12