九月
10

1.   安装相关deb包

a)         Apt-get install unixodbc freedts-dev  (linux的ODBC驱动和 MS SQL and Sybase client library static libs and headers)

2.   配置ODBC DSN

a)         Vi  /etc/freetds/freedts.conf

添加下列信息:

[TEST-DB2]                       (自定义的数据库服务器名)

        host = 192.168.0.10       (数据库服务器的IP地址)

        port = 1433                (数据库服务器端口号)

        tds version =8.0

b)         vi /etc/odbc.ini

          

[TEST-DB2]                                         (DSN名)

Driver         =       /usr/lib/odbc/libtdsodbc.so    (一定要指定libdtsodbc.so的完全路径,否则ruby不能找到驱动)

#Setup        =      /usr/lib/odbc/libtdsS.so     

Server         =       192.168.0.10

Servername   =          TEST-DB2

Database      =       TESTBlog                    (指定缺省数据库)

#Port           =       1433

3.   运行 isql测试数据库连接

                     

 

apachtest:~# isql -v TEST-DB2 sa sa

+—————————————+

| Connected!                            |

|                                       |

| sql-statement                         |

| help [tablename]                      |

| quit                                  |

|                                       |

+—————————————+

SQL>

SQL> select count(*) from UserBlog

+————+

|            |

+————+

| 28239      |

+————+

1 rows affected

1 rows returned

SQL>

连接OK,注意,数据库名是大小写敏感的

 

4.         安装ruby1.8.2

Apt-get install irb   (会自动将ruby1.8.2装上,以及libdbi)

Apt-get install libodbc-ruby1.8   (安装ruby的odbc接口,自动安装好libodbc2)

Apt-get install libdbd-odbc-ruby

 

5.         运行irb

apachtest:~# irb

irb(main):001:0> require “dbi”

=> true

irb(main):002:0>  dbh=DBI.connect(’dbi:ODBC:TEST-DB2′,’sa’,’sa’)

=> #, @trace_mode=2, @handle=#>>irb(main):003:0>

 

返回正常信息OK

 

6.配置ruby

    Vi  config//database.yml:
development:
  adapter: sqlserver
  mode: odbc
  dsn: TEST-DB2
  username: sa
  password: sa
 

运行程序

 

目前ruby还有个问题没有解决,就是使用odbc_utf8时,ruby会报内存不足,然后程序中断,如果不使用UTF8,程序可以正常运行,但网页中不能提交中文内容!

 

该文章由carl.cao整理.

Share and Enjoy:These icons link to social bookmarking sites where readers can share and discover new web pages.
  • del.icio.us
  • digg

Tags:

No Responses

Leave a Response

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>