C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[3]: sqlcmdのパスワード無しアクセス


(過去ログ 102 を表示中)

[トピック内 5 記事 (1 - 5 表示)]  << 0 >>

■61082 / inTopicNo.1)  sqlcmdのパスワード無しアクセス
  
□投稿者/ kent (7回)-(2011/08/01(Mon) 16:11:22)

分類:[データベース全般] 

SQL Server 2005です。

sqlcmdにて、コマンドラインからクエリを投げようとしています。
#実際にはVisual Studio 2008(C#)からProcessStartInfo()を用いて投げている

テストサーバーはsa、パスワードなしのため、
sqlcmdの引数は以下のようにしています。

sqlcmd -S (サーバー名) -i (SQL名) -U sa -P

msdnでは、-P引数をコマンドの最後に指定し、
引数なしで実行すれば、パスワード無しの認証ができるように読めます。

> -P オプションをコマンド プロンプトの最後にパスワードなしで使用すると、sqlcmd では既定のパスワード (NULL) が使用されます。
http://msdn.microsoft.com/ja-jp/library/ms162773(v=SQL.90).aspx

しかし、実際に実行してみると以下のエラーが発生します。
「Sqlcmd: 'P': 引数がありません。ヘルプを表示するには、「-?」と入力してください。」

sqlcmdでパスワードなしユーザーID認証を行う方法はないでしょうか。
引用返信 編集キー/
■61118 / inTopicNo.2)  Re[1]: sqlcmdのパスワード無しアクセス
□投稿者/ kent (8回)-(2011/08/02(Tue) 16:54:51)
色々と調べてみたところ、海外でもmsdnに嘘が書いてあるという話となっていました。
osqlコマンド(非推奨)で置き換える案もありましたが、
osqlは-vオプション(パラメータの受渡)に対応していないようです。
回避方法のアイデアがあればよろしくお願いします。

> しかし、実際に実行してみると以下のエラーが発生します。
> 「Sqlcmd: 'P': 引数がありません。ヘルプを表示するには、「-?」と入力してください。」

引用返信 編集キー/
■61119 / inTopicNo.3)  Re[2]: sqlcmdのパスワード無しアクセス
□投稿者/ 魔界の仮面弁士 (2284回)-(2011/08/02(Tue) 20:25:15)
No61118 (kent さん) に返信
>> osqlコマンド(非推奨)で置き換える案もありましたが、
>> osqlは-vオプション(パラメータの受渡)に対応していないようです。
テストサーバーとはいえ、空パスワードで運用しているのが問題という気がしますけれどね。
かつて猛威を振るった SQL Slammer の例もありますし。


>> テストサーバーはsa、パスワードなしのため、
Windows 認証で -E 接続しては駄目なのでしょうか?
あるいは適切なパスワードを付けるか、パスワード付きのアカウントを用意するとか。


コマンドラインから -U だけを指定し、-P 無しで起動してみてください。
入力要求として「パスワード:」と表示されるかと思います。

今回は空パスワードなので、その後続けて、Enter を押してみてください。

古いバージョンではそれだけでログインされ「1>」が表示されますが、
最近のバージョンでは、そのまま終了してしまうようです(ERRORLEVEL=1)。

もしも Enter で応答できるバージョンであれば、標準入力から ENTER を
送出すれば通過できるかも知れませんが、空パスワードを受け付けない
バージョンであるとすれば、osql 経由での操作は無理でしょう。


> 回避方法のアイデアがあればよろしくお願いします。
空のパスワードを廃せないのであれば、
SqlConnection 経由で実行するツールを自作してみるとか。
引用返信 編集キー/
■61133 / inTopicNo.4)  Re[2]: sqlcmdのパスワード無しアクセス
□投稿者/ shu (905回)-(2011/08/03(Wed) 08:00:12)
No61118 (kent さん) に返信
> 色々と調べてみたところ、海外でもmsdnに嘘が書いてあるという話となっていました。
> osqlコマンド(非推奨)で置き換える案もありましたが、
> osqlは-vオプション(パラメータの受渡)に対応していないようです。
> 回避方法のアイデアがあればよろしくお願いします。
>
>>しかし、実際に実行してみると以下のエラーが発生します。
>>「Sqlcmd: 'P': 引数がありません。ヘルプを表示するには、「-?」と入力してください。」
>
-P "" とするとこちらの環境ではログインできず終了してしまいましたが、これが空パスワード指定と
同じなのかは分かりません。
引用返信 編集キー/
■61259 / inTopicNo.5)  Re[3]: sqlcmdのパスワード無しアクセス
□投稿者/ kent (9回)-(2011/08/08(Mon) 08:58:48)
みなさんありがとうございました。

コマンドライン実行用のパスワードありユーザーを新たに作ることで対応としました。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -