免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4273 | 回复: 1
打印 上一主题 下一主题

[OpenBSD] openbsd5.4刚安装了unixODBC,FreeTDS,为perl连接 ms sql 2008 准备(已完成) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-12-02 11:44 |只看该作者 |倒序浏览
本帖最后由 vity 于 2013-12-03 00:36 编辑

1,安装 unixODBC 很顺利,这个东西需要一个驱动,指的就是 FreeTDS 给的库。

2,安装 FreeTDS 费了一些周折, configure 时 ,除了指定安装目录、 支持 unixODBC 外,还得设置一个openbsd 特别的 --disable-threadsafe 。因为 openbsd 没有 gethostbyname_r() 函数。 配置文件中,需要指定 "tds version = 8.0"。 tsql 访问 ms sql 2008 没问题。

3,unixODBC的配置 odbc.ini 中,需要指定 "TDS_Version = 8.0"。 isql 访问 ms sql 2008 没问题。

4,配置文件关系
   对于 isql 访问 ms sql 2008 来说, unixODBC 中的 odbc.ini 文件负责描述 数据连接池,所需要的信息是驱动程序、数据库登录信息、版本号,三者缺一不可。 driver 变量可以参考 odbcinst.ini 的描述从而缩写;如果 odbc.ini 采用 servername 指向 FreeTDS,则采用  freetds.conf 中的描述 ,好处是 可以指定 charset;如果 odbc.ini 使用 server 变量,则需详细写 数据库登录信息。odbc.ini 中的 driver 变量实际上应该填写 freetds 编译出来的 libtdsodbc.so

5,perl 的特殊需求
   对于 perl ,编译环境 ODBCINI 指定的文件为服务器登录所需的所有配置,一般就指向 odbc.ini。在这个文件中,driver 变量不能参照 odbcinst.ini 的定义,要写全路径!!驱动指定为 freetds 后,就可以采用 servername 这个变量了,freetds 负责解析这份登录信息。

-- 目前,测试 isql, tsql, perl 都可以访问 ms sql 2008 ,返回查询记录 --

[主要参考]以下连接,请注意前文第 2 条和第 5 条
http://www.cnblogs.com/davyfamer/archive/2012/05/31/2528818.html

论坛徽章:
0
2 [报告]
发表于 2013-12-02 13:29 |只看该作者
多謝分享!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP