- 论坛徽章:
- 0
|
让 sco openserver 5.0.7 连上 MS-SQLSERVER 2000 全纪录(Step By Step)
肇因: 1.想研究 Linux 如何 连上MS-SQLSERVER 2000,这个题目网络发表了很多。
2.但我目前使用的sco openserver 5.0.7,难道不行吗?
基于这点,我找遍了网络上的信息,奈何关于sco 相关文件实在少之又少,
于是,我开始实作这个部份.
平台: sco openserver 5.0.7
运用工具: freetds http://www.freetds.org
官方下载ftp://ftp.ibiblio.org/pub/Linux/ ... /freetds-stable.tgz
**********************************************
下载并放入 sco 主机之 /tmp (个人习惯)
解压缩
$ gzip –d freetds-stable.tgz
解压缩完成后,会在/tmp产生 freetds-0.82.tar
$ cd /usr/local
$ tar xvf /tmp/ freetds-0.82.tar
/usr/local 产生 freetds-0.82 目录
$ mv freetds-0.82 freetds (改个名称,个人习惯)
**********************************************
**********************************************
编译之前 先设定 你的环境参数
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/freetds/lib
export LD_LIBRARY_PATH
**********************************************
重新登入后
$ cd /usr/local/freetds
1.修改 /usr/local/freetds/src/tds/token.c 2232行(0.82版) TDS_I64_FORMAT 语法
/* tdsdump_log(TDS_DBG_FUNC, " rows_affected = %"TDS_I64_FORMAT"\n", rows_affected); */
改为 tdsdump_log(TDS_DBG_FUNC, " rows_affected = %ld\n", rows_affected);
2.修改 /usr/local/freetds/src/tds/convert.c 919,982行(0.82版) TDS_I64_FORMAT 语法
/*sprintf(tmp_str, "%" TDS_I64_FORMAT, buf); */
改为 sprintf(tmp_str, "%ld", buf);
3.修改 /usr/local/freetds/src/tds/query.c 2036行(0.82版) tds_set_cur_cursor 宣告
将 static intline void
改为 static void
tds_set_cur_cursor(TDSSOCKET *tds, TDSCURSOR *cursor)
//****************************************************---给 Sco openServer 5.0.7 (或BSD?) 专用的 语法
(在 sco 使用 下行)
$ ./configure -prefix=/usr/local/freetds --with-tdsver=8.0 --disable-threadsafe
//***************************************************************
$ make
$ make install
编译 FreeTDS
若无其它错误,则进行以下
$ cd /usr/local/freetds/etc
$ 使用 vi 加入 你的 MS-SQLSERVER 2000 信息
在freetds.conf
注意 client charset = big5 (语系)
(因为我的是繁体中文,简体中文的朋友请自行修改) 我无简体环境可测试
tdsver=8.0 表示 MS-SQL SERVER 2000 (请参考http://www.freetds.org文件)
tdsver=7.0 表示 MS-SQL SERVER 7
.
.host= MS-SQL SERVER主机 IP
port= MS-SQL SERVER主机 IP 端口
[MS2KSQL]
host = 192.168.1.10
port = 1433
client charset = big5
tds version = 8.0
//***************************************************************
至此,设定已完成!
再来就是测试了
$ cd /usr/local/freetds
用法$ ./bin/tsql –S 主机别名freetds.conf 设定 –U你的账号–P 你的密码
$ ./bin/tsql –S MS2KSQL –U sa –P 123
如果成功,会看到 1>
例如
$ ./bin/tsql -S MS2KSQL -U sa –P 123
locale is "english_us.8859"
locale charset is ""
Password:
1>
到此,联机也成功了
1> use 你的数据库名
2> select * from 你的资料表
3> go
看到资料出来了吗? 如果是, 就恭喜你啰! 你让sco openserver 5.0.7 又多一个新功能了!
[ 本帖最后由 augugrm 于 2008-12-6 01:32 编辑 ] |
|