locked
SQLServer2008用のODBCデータソースが作成できません RRS feed

  • 質問

  • いつもフォーラムの投稿に助けてもらっています。ありがとうございます。

    問題点:ODBCデータソースが作成できない。

    やりたい事:

    クライアント(Windows7搭載PC)から社内サーバー(OS:Windows Server Standard サーバーの種類:SQL Server 2008)のデータにアクセスし、FileMakerと連携させたい。そのために、ODBCデータソースを作成したい。ODBCデータソースの作成は初めて。

    作成の為に実施した手順:

    ①クライアントにおいて、コントロールパネル→「管理ツール」→「データソース(ODBC)」を起動

    ②「システムDSN」タブを選択→「追加」を押下

    ③データソースの名前「DBTest」,"接続するSQL Serverを選択したください"の欄に「192.168.○.○」(サーバーのIPアドレス)を入れる。(この時点で接続するSQL Serverがプルダウンに現れません。)

    ④次へを押下してSQL Server用のログインIDとPASSを入力

    ⑤その他の設定は一つもいじらずに、完了を押下

    ⑥「データソースのテスト」を実施すると、下記のようなエラーメッセージが出る。

    ********************************************************************************

    Microsoft ODBC Driver for SQL Server Version 11.00.2270

    接続テストを実行中です...

    接続を試みています
    [Microsoft][ODBC Driver 11 for SQL Server]名前付きパイプのプロバイダー: SQL Server への接続を開けませんでした [1385].
    [Microsoft][ODBC Driver 11 for SQL Server]ログイン タイムアウトが時間切れになりました
    [Microsoft][ODBC Driver 11 for SQL Server]SQL Server への接続の確立中に、ネットワーク関連のエラーまたはインスタンス固有のエラーが発生しました。サーバーが見つからないか、アクセスできません。インスタンス名が正しいことと、SQL Server がリモート接続を許可するように構成されていることを確認してください。詳細については、SQL Server オンライン ブックを参照してください。

    テストは失敗しました。

    ***********************************************************************************エラー解消の為に実施したこと:

    ①社内サーバーの「Microsoft SQL Server Management Studio」を起動し、リモート接続が許可されていることを確認

    ①-2 SQL Server構成マネージャーを起動し、名前付きパイプが無効、TCP/IP有効,VIA有効,共有メモリ有効であることを確認(名前付きパイプを有効にするためにいったんサーバーの再起動が必要なので、まだ実施してません。)

    ②サーバーインスタンスが既定のインスタンスであることの確認。

    構成マネージャーのTCP/IPのプロパティを開き、IPAⅡの「TCPポート」に「1433」が入力され「動的ポート」が空欄であることを確認。

    ③クライアント、サーバー双方のファイアウォールを無効にして作成を試みたが失敗。

    ④サーバーにおいてnetstatを実行して「TCP [::]:1433 [::]:0 LISTENING 」と表示されることを確認。

    ⑤クライアントにおいてnetstatを実行してODBCデータソースの作成実行時に

    「TCP 192.168.○.○:49413 192.168.○.○:1433 SYN_SENT」と表示されることを確認。

    現状のサーバーの運用状況:

    ①社内Webアプリを起動中。クライアントからポート80を使った通信が可能、正常に動作。

    ②クライアントからリモートデスクトップ接続が可能。

    *************************************************

    以上、サーバーを再起動せずに試せることはすべて試したつもりなのですが、ご助言お願いします。

    名前付きパイプが無効なのは気になりますが、IPを使って接続する場合は無効でも良いのでは?と思っています。

    本当に困っております。なにとぞアドバイスよろしくお願いいたします。


    • 編集済み saitouKK 2014年2月22日 1:40
    2014年2月22日 0:50

すべての返信

  • クライアント側で

    ④次へを押下してSQL Server用のログインIDとPASSを入力

    で入力した アカウントは Widowsのアカウントでしょうか?

    それともSQLServerのアカウントでしょうか?

    SQLServerのアカウントである場合、

    ①社内サーバーの「Microsoft SQL Server Management Studio」を起動し...

    で確認された Windowsアカウントではなく、

    クライアント側で 設定されたアカウントでSQLServerにログインできますでしょうか?

    2014年2月23日 14:47
  • ご回答ありがとうございます。

    >>クライアント側で
    >>④次へを押下してSQL Server用のログインIDとPASSを入力
    >>で入力した アカウントは Widowsのアカウントでしょうか?
    >>それともSQLServerのアカウントでしょうか?

    SQLServerのログインアカウントで、サーバー本体にログインする際に使用するIDではありません。IDがsaの物です。

    >>SQLServerのアカウントである場合、
    >>①社内サーバーの「Microsoft SQL Server Management Studio」を起動し...
    >>で確認された Windowsアカウントではなく、
    >>クライアント側で 設定されたアカウントでSQLServerにログインできますでしょうか?

    この場合のWindowsアカウントとは何を意味するのでしょうか。
    また「クライアント側で 設定されたアカウント」とは何のことでしょう。
    クライアント側からサーバー上のSQLServerにログインするために、クライアント用のアカウントを作成してログインするということでしょうか?
    2014年2月24日 8:10
  • こんばんは

    sa で設定されているということは SQLServer側の認証モードが 混合認証モードになっている必要がありますが、認証モードはどうなっておりますのでしょうか?

    SQLServer Management Studio でデータベースのプロパティ で セキュリティでモードを確認できると思います。

    混合モードの場合、切り分けの為、サーバ側に同じようにODBCの設定をおこなってみるのも切り分けになるのではないでしょうか

    今 気がついたのですが

    TCP [::]:1433 [::]:0 LISTENING

    これって ipv6 ですね ipv4の方のIPでは 1433 はLISTENINGになっていますか?

    TCP 192.168.xxx.xxx:1433 0.0.0.0 LISTENING 

    のように。

    2014年2月24日 14:32
  • 名前付きパイプで接続しようとしてエラーが出ているので、
    ODBCの接続を作成するときにTCP/IPを選んでください。

    具体的には、サーバの指定を以下のようにします。IPアドレスの前にtcpを入れてください

    TCP:<IP Address>,<port>


    [SQL Server Native Client での接続文字列キーワードの使用]
    http://technet.microsoft.com/ja-jp/library/ms130822.aspx

    2014年2月25日 6:12
  • いつもありがとうございます。

    >>認証モードはどうなっておりますのでしょうか?
    混合認証モードになっていました。

    >>これって ipv6 ですね ipv4の方のIPでは 1433 はLISTENINGになっていますか?
    サーバー側でnetstatを実行して改めて確認したところ
    「TCP 0.0.0.0:1433 0.0.0.0:0 LISTENING」となっていました。
    クライアントからtelnetを使って「サーバーのIP,1433」というコマンドで接続を試みても接続できないので、
    クライアントとサーバー側でポート1433が開通していない気がしています。
    ただ、一回windowsファイアーウォールを無効にして接続を試みているのですが。。。

    ウィルスソフト側のファイアウォールの問題でしょうか?

    2014年2月26日 0:17
  • 回答ありがとうございます。

    SQL Server Native Clientをインストールして、アドバイスを試させてもらいました。

    その結果、「tcpプロバイダー:そのようなホストは不明です」というエラーが出ました。

    takuya71さんのアドバイスを受け、サーバー上からODBCデータソースを作成してみたところ、うまくいきました。

    やはり、何らかの理由でリモート接続ができていないようです。

    またその際に、今までクライアント上ではドライバとして「ODBC Driver 11 for SQL Server」を使っていたことがわかったので

    SQL Server Native Client をインストールして再作成をクライアント上から試みましたが、ダメでした。

    2014年2月26日 0:28
  • >その結果、「tcpプロバイダー:そのようなホストは不明です」というエラーが出ました

    接続文字列のIPアドレスに記述にミスがあるものと思われます。
    接続ができない場合のエラーは以下の通りで、ホスト名の解決ができない(=IPアドレスとして認識できない)ため上記のエラーが出ています

    例:接続ができないときのエラー

    接続を試みています
    [Microsoft][SQL Server Native Client 11.0]TCP プロバイダー: 接続済みの呼び出し先が一定の時間を過ぎても正しく応答しなかったため、接続できませんでした。または接続済みのホストが応答しなかったため、確立された接続は失敗しました。
    

    tcp:192.168.1.1,1433
    なのですが、ポート名の区切りとかを間違っていたりしませんか?

    2014年2月26日 8:22
  • Chukiさんの記載をコピーし数字だけ変えて作成を試みましたが、同様のエラーが出ました。

    接続先をipアドレスだけにした場合は下記の様なエラーが出ました。

    ************************************************:::::::

    Microsoft SQL Server Native Client Version 10.50.1600

    接続テストを実行中です...

    接続を試みています
    [Microsoft][SQL Server Native Client 10.0]TCP プロバイダー : 接続済みの呼び出し先が一定の時間を過ぎても正しく応答しなかったため、接続できませんでした。または接続済みのホストが応答しなかったため、確立された接続は失敗しました。

    [Microsoft][SQL Server Native Client 10.0]ログイン タイムアウトが時間切れになりました
    [Microsoft][SQL Server Native Client 10.0]SQL Server への接続の確立中に、ネットワーク関連のエラーまたはインスタンス固有のエラーが発生しました。サーバーが見つからないか、アクセスできません。インスタンス名が正しいことと、SQL Server がリモート接続を許可するように構成されていることを確認してください。詳細については、SQL Server オンライン ブックを参照してください。

    テストは失敗しました。*******************************************************

    サーバー名を入力して作成を試みると

    ++++++++++++++++++++++++++++++++++++++++++++++++++++

    Microsoft SQL Server Native Client Version 10.50.1600

    接続テストを実行中です...

    接続を試みています
    [Microsoft][SQL Server Native Client 10.0]名前付きパイプのプロバイダー : SQL Server への接続を開けませんでした [1385].
    [Microsoft][SQL Server Native Client 10.0]ログイン タイムアウトが時間切れになりました
    [Microsoft][SQL Server Native Client 10.0]SQL Server への接続の確立中に、ネットワーク関連のエラーまたはインスタンス固有のエラーが発生しました。サーバーが見つからないか、アクセスできません。インスタンス名が正しいことと、SQL Server がリモート接続を許可するように構成されていることを確認してください。詳細については、SQL Server オンライン ブックを参照してください。

    テストは失敗しました。

    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++

    となります。

    どうしたものでしょうか。。。

    2014年2月27日 2:47
  • サーバ上では同様の設定で接続できますでしょうか?

    IPアドレスと、127.0.0.1を使った接続を試してみてください。前者がダメで後者がOKということであれば、かなりの可能性でファイアウォール関連の問題と思われます。

    2014年2月27日 3:00