掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
ADOでLAN内のDBにアクセスについて (ID:92119)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
私は普段、Jet や Oracle ばかり使っているので、MSDE / SQL Server は あまり詳しくなかったりします……。一応、調べながら書いてはいるつもりですが、 もしも間違っていたら、誰かフォローお願いします。m(_ _)m ……というか、もはや VB に関する問題からは遠ざかっていますので、 VB系のコミュニティではなく、SQL Server系のコミュニティ(PASSJなど)に 移動された方が良いと思うのですが。(^_^;) >>サーバ側のsvrnetcn.exeと、クライアントPC側のcliconfg.exeの設定が >>一致しており、"TCP/IP"が最優先になっている事を確認してください。 > すみません確認の仕方がわかりません。不勉強ですみません。 それらは(コマンドラインではなく)ウィンドウベースの設定ツールなので、 実際に起動してみれば、使い方もすぐにわかるかと思いますよ。 サーバーPCでは、[スタート]-[ファイル名を指定して実行]から、 『svrnetcn.exe』を起動し、その内容をチェックします。 同様にクライアントPCでは、[スタート]-[ファイル名を指定して実行]から、 『cliconfg.exe』を起動し、その内容をチェックします。 で、それぞれに、『プロトコル』種類の選択や、TCP/IPポートの設定画面が あるので、それらがサーバ/クライアント間で一致しているかを確認してください。 ちなみに、Net-Libraryの初期設定のポート番号は1433です。 http://www.microsoft.com/downloads/details.aspx?FamilyID=DD6BED8F-A706-48EE-95B7-BDC21455815A&displaylang=ja > 接続文字列は"Provider=SQLOLEDB.1"と設定しました。 あれ? そんなに短くは無いですよね。 少なくとも、"Data Source"の指定ぐらいはあると思うのですが……。 とりあえず、主要なパラメータを紹介しておきますので、 余計な設定を含めていないか、または設定し忘れた項目が 無いかなど、もう一度確認してみてください。 # 特に、認証モード関係の設定は要チェック。 ---------------- Provider Ole Dbプロバイダの指定です。SQL Server用プロバイダの場合は、 "SQLOLEDB.1" です。単に "SQLOLEDB" と書いても OK。 Data Source (または Server) サーバー名の指定です。コンピュータ名やIPアドレスを指定します。 自分自身に接続する際には、"(local)"という文字列も利用できます。 なお、SQL Serverの名前付きインスタンスを指定している場合には、 "server\instance"の形式で指定してください。 Initial Catalog (または Database) 接続するデータベース名を指定します。特に指定しなかった場合には、 SQL Server側で設定された規定のデータベースに対して接続されます。 User ID Password 文字通り、ユーザー名とパスワードの指定です。 この設定は、SQL Server認証モードの際に使用されます。 Trusted_Connection ユーザー認証モードです。yesやtrueならWindows認証モードとなり、 noやfalseなら混合認証モードとなります。下記の遷移図もご覧下さい。 http://www.microsoft.com/japan/msdn/library/ja/adminsql/permdiag.gif Integrated Security Windows認証モードにするなら、"SSPI" を指定します。それ以外は未指定に。 ちなみにSSPIとは、「Security Support Provider Interface」の意味です。 Network Library 使用するNet-LibraryのDLL名を指定します。パス、および拡張子(.DLL)は入れません。 "dbmssocn" なら、Win32 Winsock TCP/IP です。今回はコレですね。 "dbnmpntw" なら、Win32 名前付きパイプ です。 "dbmsspxn" なら、Win32 SPX/IPX です。 "dbmsvinn" なら、Win32 Banyan Vines です。 "dbmsrpcn" なら、Win32 マルチプロトコル (Windows RPC) です。 特に指定が無ければ、SQL Server クライアントの設定値が利用されます。 この他には、Win16用の、"dbnmp3", "dbmssoc3", "dbmsspx3", "dbmsvin3", "dbmsrpc3"などといったDLLもありますが……今回は関係ないですね。 ---------------- > ・"ID:saのログインに失敗しました。" > ・"SQL-SERVERの信頼関係の接続が関連付けられていませんというのが出ました。" 「"」の対応がおかしいのはさておき、ここまで来たら、 データベースには到達したようですね。あとは認証の問題。 ついでなので、他のメッセージの場合も含めて列挙。 ------- (1) "ユーザー '○○' はログインできませんでした。" SQL Server認証で接続したが、ユーザーのパスワードが 間違っていた場合です。パスワードが空になっていないか? 大文字小文字は 正しいか? そもそものユーザー名が正しいかなどを確認しましょう。 (2) "ユーザー '(null)' のログインに失敗しました。 理由 : SQL Server の信頼関係接続に関連付けられていません。" "信頼関係接続(Trusted Connection)"は、Windows 認証接続を意味しています。 (null)というのは、認証が失敗して「不明なユーザー」で接続されている状態です。 (3) "ユーザー '○○' のログインに失敗しました。 理由 : SQL Server の信頼関係接続に関連付けられていません。" 上記(2)に似ていますが、こちらはユーザー名まで表示されています。 表示されているユーザー名(またはユーザーグループ名)が、期待している Windowsユーザーであるか、そして、そのWindowsユーザーに対する 接続許可をSQL Serverに与えているかを確認してください。 なお、ドメインではなくワークグループの場合は、同一のワークグループに 所属しているかどうかもチェックしましょう。 (3) "SQL Server が存在しないか、アクセスが拒否されました。" SQL Server側のサービスが起動していない状態、または、SQL Serverの サーバ名やインスタンス名を間違えて指定したような場合に発生します。 接続先の再確認を行いましょう。または、接続プロトコルの設定ミスも 考えられます。たとえば、先の(2)のエラーが出る時に、名前付きパイプ (Network Library=dbnmpntw)で接続した時にも、同様のエラーになります。 ----------------
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.