ubuntu下通过unixODBC连接MS SqlServer2005

来源:互联网 发布:照片日历制作软件 编辑:程序博客网 时间:2024/04/28 16:54
一、下载相关软件 unixODBC、freetds    
    (1) Linux系统的ODBC      unixODBC-2.2.8.tar.gz ( http://www.unixodbc.org)
    (2) 连接SQLServer或Sybase的驱动     freetds-0.62.4.tar.gz ( http://www.freetds.org)
二、安装和配置
    (1) 安装unixODBC
      # tar vxzf unixODBC-2.2.8.tar.gz
      # cd unixODBC-2.2.8
      # ./configure --prefix=/usr/local/unixODBC
      # make
      # make install
 
    (2) 安装freetds
      # tar vxzf freetds-0.62.4.tar.gz
      # cd freetds-0.62.4
      # ./configure --prefix=/usr/local/freetds --with-unixodbc=/usr/local/unixODBC --with-tdsver=8.0
      # make
      # make install
三、配置freetds
    # cd /usr/local/freetds
    # vi etc/freetds.conf
    修改以下的一段,并把;去掉,改好之后的内容如下:
    [MyServer2k]
    host=192.168.0.32
    port=1433
    tds version=8.0
其中的[MyServer2k]代表在客户端使用的服务器名称,host代表SQLServer服务器的IP地址,port代表端口,测试连接;
    # bin/tsql -S MyServer2k -H 192.168.0.32 -p 1433 -U sa -P password
    1> use gameDB
    2> go
    1> select count(*) from t_ip
    4
    1> quit


一切都很顺利,现在来说明以下这些参数的作用,
    -S:MyServer2k是在freetds.conf中定义好的
    -H:192.168.0.32服务器IP地址,和freetds.conf中一致,如果使用了-S参数,这个参数可以不用
    -p:1433用来指定端口是1433
    -U:sa用来指定连接数据库的用户名
    -P:password用来指定连接数据库的密码。
四、配置unixODBC
    # cd /usr/local/unixODBC
    向ODBC添加SQLServer驱动
    # vi etc/odbcinst.ini
    写入如下内容:
    [TDS] ;驱动名称
    Description = MS-SQLServer ;描述
    Driver = /usr/local/freetds/lib/libtdsodbc.so ;驱动程序
    Setup = /usr/local/freetds/lib/libtds.so ;不要问我,我也不知道这是什么
    FileUsage = 1
    保存退出
    添加DSN
    # vi etc/odbc.ini
    写入如下内容
    [123] ;DSN名称
    Driver = TDS ;ODBC驱动
    Server = 192.168.0.32 ;服务器IP
    Database = gameDB ;要使用的数据库
    Port = 1433 ;端口
    Socket =
    Option =
    Stmt =
    保存并退出,测试ODBC的连接
    # bin/isql -v 123 sa password
    SQL> select count(*) from t_ip
    +----------+
    | |
    +----------+
    | 4 |
    +----------+
    SQL> quit
    OK,测试通过,开始测试php能否正确使用ODBC,在使用php连接ODBC之前要做些准备工作,把ODBC的共享库都复制到/usr/lib目录
    # cp /usr/local/unixODBC/lib/libodbc.* /usr/lib


注意:如果想远程连接mssqlserver2005,需要把远程访问打开,方法如下:
    1、指向“开始->程序->Microsoft SQL Server 2005->配置工具->SQL Server 外围应用配置器”
    2、在“SQL Server 2005 外围应用配置器”页, 单击“服务和连接的外围应用配置器”
    3、然后单击展开“数据库引擎”, 选中“远程连接”,在右边选中“本地连接和远程连接”,
再选择要使用的协议,单击“应用”,您会看到下消息:“直到重新启动数据库引擎服务后,对连接设置所做的更改才会生效。”,单击“确定”按钮返回
    4、展开“数据库引擎”, 选中“服务”,在右边单击“停止”,等到 MSSQLSERVER 服务停止,
然后单击“启动”,重新启动MSSQLSERVER 服务。
 
0 0