[#46093] 質問:mingw環境でのtcltklib.soのコンパイル — Dice <rubyist@...>

Diceです。

12 messages 2009/06/16

[ruby-list:46050] Re: RoR on Linux で MS-SQL にアクセスしたい

From: HIROE Shin <hiroe.orz@...>
Date: 2009-06-02 04:37:06 UTC
List: ruby-list #46050
こんにちは。廣江です。
しんさんが提示されている設定ファイル類を一見したところなにも問題ないように思えましたのでこちらの環境でやってみたところ、やはり問題なく接続できました。

そこで設定をいじって同じエラー(Data source name not found, and no default driver
specified)が出る条件を探したところ、

1, odbcinst.ini先頭の[FreeTDS]とodbc.ini中で指定している"Driver=FreeTDS"の名前が異なる場合。
2,odbc.ini先頭の[MYPROJECT]とdatabase.yml中のDSNの指定"dsn: MYPROJECT"が異なる場合。

ぐらいでした。おそらく設定ファイル類は何度も確認されていることと思いますが、再度確認してみてください。

ちなみに先日、同僚も同じエラーで悩んでいましたが、そのときは1の場合で"Driver=Free TDS"(FreeとTDSの間にスペースが入ってた)でした。

ライブラリのバグの可能性も無いとは言い切れませんが、Data
Sourceが見つからないというのは何となく設定ミスの可能性が高いように感じます(違ってたらすみません)。

2009/06/01 17:48 しん <dezawa@aliadne.net>:
> 出沢です
>
> ありがとうございます。ruby-odbc で少し進みました。
> が、unixODBC がエラーを吐きます。
>
> rake aborted!
> IM002 (0) [unixODBC][Driver Manager]Data source name not found, and no default driver specified
> /usr/local/lib/ruby/gems/1.8/gems/dbd-odbc-0.2.4/lib/dbd/odbc/driver.rb:39:in `connect'
>
> この driver.rb のこのあたりは次のようになっています
>    def connect(dbname, user, auth, attr)
>        driver_attrs = dbname.split(';')
>        if driver_attrs.size > 1
>            # DNS-less connection
>        else
>            # DNS given
> p ["odbc:driver.rb DNS given",dbname]
>            handle = ::ODBC.connect(dbname, user, auth)
> p ["odbc:driver.rb DNS given",handle]
>        end
>
> このDNSはDSNのtypoだと思います。
> DSNとは
> freetds.conf
> -----
>  (上のほう省略)
> [MYPROJECT]
>  host  = sqlserver.example.com
> -----
> odbc.ini
> -----
> [MYPROJECT]
>   Driver          = FreeTDS
> -----
> の MYPROJECT の事と思うのですが、
> この ::ODBC.connect を呼ぶ直前の dbname を見ると、期待通りに入っています。
>
> なぜ unixODBCは受けていない、と思うのでしょうか。
> なにか確認すべき点は有るでしょうか
>
> (まだ unixODBCのソースは眺めていません)
>
> # こんなにややこしいはずはないと思うのですが、
> # どっかで変なことしているのでしょうね。
>
>
>



-- 
//////////////////////////////////////////////////////////////////
小松電機産業 (株)
廣江 深
TEL: 050-3161-2489
FAX: 050-3161-3846
E-mail: shin@komatsuelec.co.jp
URL: http://www.komatsuelec.co.jp
//////////////////////////////////////////////////////////////////

In This Thread