SQLServerExpressに対してのBCP実行時のエラー

「名前付きパイプのプロバイダ:SQL Serverへの接続を開けませんでした」
とのエラーが出てSQLServer2008R2 Standerdで動作していたBCPがSQLServer2008Expressでは動作しなくなってしまいました。
原因は、SQLServer2008では「既定のインスタンス」でインストールされていたのですが Expressでは名前付きインスタンスでインストールしてしまったためです。かなり重要なところのデフォルト動作が違うというのもどうかと思うのですが、対策を調べてみました。

BCPの命令は以下のような感じです。

BCP [db_name]..[table_name] out [file_name] -c -T

これを次のように -Sオプションをつけて実行します。

BCP [db_name]..[table_name] out [file_name] -c -T -S [pc_name]¥SQLEXPRESS

これでばっちりです。

次にコマンドを変えないで出来ないものかと思い、SQLServer構成マネージャーで以下のようにしてみました。
結果として「かろうじて」実行できました。なぜかBCPの実行がすごく遅いです。
他にもなにかしないとだめなのでしょう・・・ 現状では参考程度の情報です。


[SQL Serverネットワークの構成]の[SQLEXPRESSのプロトコル]を選択
名前付きパイプをダブルクリック

パイプ名の[¥¥.¥pipe¥MSSQL$SQLEXPRESS¥sql¥query]を以下のように書換え

¥¥.¥pipe¥sql¥query

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中