質問: sqlserver 2008 odbc接続 クライアントpcのデータソースの新規作成で、sqlserver 2008(評価版)への接続がエラーになってしまいます。 <環境> サーバー os:windows server 2008 standard sqlserver:sql server enterprise evaluation edition (64-bit) (評価版) クライアント os:windows xp professional sp3 <データソースの新規作成> 1.odbc データソース アドミニストレータで、ファイルdsnを選択し、追加ボタンを押下。 2.データソースの新規作成で、sql serverを選択し次へ。 3.データソース名を入力し、次へ。 4.完了ボタンを押下。 5.接続するサーバーでsqlserver2008のを選択する。 6.ユーザーが入力するsql server用のログインidとパスワードを使う を選択し、ログインid:sa パスワードを入力し次へ。 6.で、次へを押下すると以下のようなメッセージが表示されます。 ---------------以下、エラーダイアログのメッセージ----------- 接続できませんでした。 sqlstate:'01000' sql server エラー:5 [microsoft][odbc sql server driver][idbnetlib]connectionopen(connect()) 接続できませんでした。 sqlstate:'08001' sql server エラー:17 [microsoft][odbc sql server driver][idbnetlib]sql server が存在しないか、アクセスが拒否されました。 ---------------------------------------------------------------- その他、検証した内容として 1.sqlserverのサーバー認証は、混合モードに設定してあり、データソース作成時に、ログインidでも試みましたが結果は同様でした。 2.同様の方法で、同クライアントから、windows server 2000 + sqlserver 2000 での接続は、問題無く出来ています。 3.サーバー上でのデータソースの作成で、同サーバーへの接続も試みてみましたが、同様の方法で、問題無く出来ました。 クライアントのmdacのバージョン等が関係しているのでしょうか? どなたか、ご存知の方がいらっしゃいましたら、ご教授の程、よろしくお願い致します。
回答: windows xp sp2 + sql server 2005 compact editon(英語版)で、同様の問題を経験し、結構はまりましたので、ご参考まで。 sql server 2005以降のバージョンでは、デフォルトでは、他ノードからのアクセスを受け付けない仕様になっていると思います。 という訳で、私の場合はインストール後、以下の作業が必要でした。 ◆local connections onlyチェックボックスをオフにする。 ◆using tcp/id and named pipeチェックボックスをオンにする。 ◆tcpのポートをdynamicから1433固定に変更 (何ゆえ、dynamicがうまく動作しなかったのか、原因は不明) ◆tcp1433を例外リストに追加 以上、日本語版では、微妙に用語が違うとは思いますが、sql server 2000でのご経験をお持ちなので問題ないと思われます。 お役に立ちますことを祈っております。