SAS ODBC ドライバの設定 (Local(Single User))

[OS]Windows
[リリース] 8.1
[キーワード] SAS ODBC Driver, V8.1

[質問]

SAS 8.1のSAS ODBCドライバを使って、別のソフトからローカルPCにあるSASデータセットにアクセスしようとしましたが、 下記のようなエラーが起きました。

[SAS][SAS ODBC Driver][SAS Server]178 - TCP method failed rc = -1005
(Unable to locate server) (#1)[Microsoft][ODBC Driver Manager]
ドライバのSQLSetConnectAttrは失敗しました。(#0)

[回答]

SAS 8.1のSAS ODBCドライバでは、サーバー名と同じ名前のサービスをシステムが参照するSERVICESファイルに定義する必要があります。
ご質問のエラーはサービスが定義されていない場合に発生します。

ローカルPCのSASデータセットにアクセスする場合の設定を下記に記述します。 なお、詳細は、SAS ODBCドライバのヘルプ(英語)を参照してください(各ウィンドウの「ヘルプ」ボタンをクリックして参照できます)。

  1. Windowsのコントロールパネルにある「データソース(ODBC)」もしくは「ODBC」を起動します。

  2. 「ユーザーDSN」もしくは「システムDSN」のタブを表示します。

  3. ウィンドウの右側の"追加"ボタンをクリックします。

  4. 「データソースの新規作成」ウィンドウが表示されます。
    ODBCドライバのリストから"SAS"を選択して"完了"ボタンをクリックします。

  5. 「SAS ODBCドライバ設定」ウィンドウが表示されます。
    任意のデータソース名を設定します。(例: localsas)

  6. "サーバー"タブを表示して、サーバーの設定を行います。

    サーバー名: 任意のサーバー名を入力(例: localsas)
    パスワード: 空欄のままにする

    上記の設定後、"設定"ボタンをクリックします。

  7. 「ローカルオプション」のウィンドウが表示されます。次のように指定してください。
    (SASルートディレクトリを "C:\Program files\SAS Institute\SAS\V8"と仮定)

    パス:"C:\Program files\SAS Institute\SAS\V8\nls\ja\sas.exe"
    作業ディレクトリ:"C:\Program files\SAS Institute\SAS\V8\nls\ja"
    起動パラメータ:変更不要
    SASタイムアウト: 120 (デフォルト)

    上記の設定後、"OK"ボタンをクリックします。

  8. "ライブラリ"タブを表示して、ライブラリの設定を行います。次のように指定してください。

    名前:任意のSASライブラリ名 (例: sasdata)
    ホストファイル:上記のライブラリのパス
    (例: d:\sasdata)
    説明:任意のコメント
    エンジン:通常は指定する必要はありません。
    SAS System 6形式のデータセットにアクセスする場合は V6 と指定します。
    オプション:読み込み専用にする場合はACCESS=READONLYを指定します。

    "<< 追加 << "ボタンをクリックし、 "OK"ボタンをクリックします。

  9. システムのSERVICESファイルにサービスの定義を追加します。

    ※SAS 8.1のSAS ODBCドライバでは、システムのSERVICESファイルにサービス名(上記6.で指定したサーバー名と同じ名前) を定義する必要があります。

    SERVICESファイルのパスは下記の通りです。

           Windows NT, Windows 2000:
               WINNT\SYSTEM32\DRIVERS\ETC\SERVICES
    
           Windows 95, Windows 98, Windows Me
               WINDOWS\SERVICES
           

    たとえば、サーバー名が「localsas」の場合、ファイルの最後に下記の2行を追加してください。
    5777は、任意の未使用のポート番号に置き換えてください。

           localsas         5777/tcp    # SAS ODBC
           #