免费注册 查看新帖 |

Chinaunix

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

[SCO UNIX] sco openserver 5.0.7 连上 MS-SQLSERVER 2000 全纪录(Step By Step) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-12-05 20:11 |只看该作者 |倒序浏览
让 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 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2008-12-05 23:48 |只看该作者
谢谢楼主.
我到这一步出错:
sco_200:root[/usr/local/freetds] 357 $ make install
No suffix list.
Making install in include
No suffix list.
No suffix list.
        test -z "/usr/local/freetds/include" || /bin/ksh ../mkinstalldirs "/usr/local/freetds/include"
/usr/bin/X11/scoinst -c -m 644 'bkpublic.h' '/usr/local/freetds/include/bkpublic.h'
cp: cannot access bkpublic.h: No such file or directory (error 2)
chmod: WARNING: cannot access /usr/local/freetds/include/bkpublic.h: No such file or directory (error 2)
/usr/bin/X11/scoinst -c -m 644 'cspublic.h' '/usr/local/freetds/include/cspublic.h'
cp: cannot access cspublic.h: No such file or directory (error 2)
chmod: WARNING: cannot access /usr/local/freetds/include/cspublic.h: No such file or directory (error 2)
/usr/bin/X11/scoinst -c -m 644 'cstypes.h' '/usr/local/freetds/include/cstypes.h'
cp: cannot access cstypes.h: No such file or directory (error 2)
chmod: WARNING: cannot access /usr/local/freetds/include/cstypes.h: No such file or directory (error 2)
/usr/bin/X11/scoinst -c -m 644 'ctpublic.h' '/usr/local/freetds/include/ctpublic.h'
cp: cannot access ctpublic.h: No such file or directory (error 2)
chmod: WARNING: cannot access /usr/local/freetds/include/ctpublic.h: No such file or directory (error 2)
/usr/bin/X11/scoinst -c -m 644 'sqldb.h' '/usr/local/freetds/include/sqldb.h'
cp: cannot access sqldb.h: No such file or directory (error 2)
chmod: WARNING: cannot access /usr/local/freetds/include/sqldb.h: No such file or directory (error 2)
/usr/bin/X11/scoinst -c -m 644 'sqlfront.h' '/usr/local/freetds/include/sqlfront.h'
cp: cannot access sqlfront.h: No such file or directory (error 2)
chmod: WARNING: cannot access /usr/local/freetds/include/sqlfront.h: No such file or directory (error 2)
/usr/bin/X11/scoinst -c -m 644 'sybdb.h' '/usr/local/freetds/include/sybdb.h'
cp: cannot access sybdb.h: No such file or directory (error 2)
chmod: WARNING: cannot access /usr/local/freetds/include/sybdb.h: No such file or directory (error 2)
/usr/bin/X11/scoinst -c -m 644 'sybfront.h' '/usr/local/freetds/include/sybfront.h'
cp: cannot access sybfront.h: No such file or directory (error 2)
chmod: WARNING: cannot access /usr/local/freetds/include/sybfront.h: No such file or directory (error 2)
/usr/bin/X11/scoinst -c -m 644 'syberror.h' '/usr/local/freetds/include/syberror.h'
cp: cannot access syberror.h: No such file or directory (error 2)
chmod: WARNING: cannot access /usr/local/freetds/include/syberror.h: No such file or directory (error 2)
        test -z "/usr/local/freetds/include" || /bin/ksh ../mkinstalldirs "/usr/local/freetds/include"
/usr/bin/X11/scoinst -c -m 644 'tds_sysdep_public.h' '/usr/local/freetds/include/tds_sysdep_public.h'
cp: cannot access tds_sysdep_public.h: No such file or directory (error 2)
chmod: WARNING: cannot access /usr/local/freetds/include/tds_sysdep_public.h: No such file or directory (error 2)
Making install in src
No suffix list.
Making install in replacements
        source='atoll.c' object='atoll.lo' libtool=yes \
        DEPDIR=.deps depmode=gcc /bin/ksh ../../depcomp \
        /bin/ksh ../../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H  -I. -I. -I../../include  -I../../include -D_FREETDS_LIBRARY_SOURCE -DDEBUG=1 -Wall -Wstrict-prototypes -Wmissing-prototypes -Wno-long-long   -g -O2 -c -o atoll.lo atoll.c
gcc -DHAVE_CONFIG_H -I. -I. -I../../include -I../../include -D_FREETDS_LIBRARY_SOURCE -DDEBUG=1 -Wall -Wstrict-prototypes -Wmissing-prototypes -Wno-long-long -g -O2 -c atoll.c -Wp,-MD,.deps/atoll.TPlo  -fPIC -DPIC -o .libs/atoll.o
In file included from atoll.c:29:
../../include/replacements.h:26: tds_sysdep_public.h: No such file or directory
*** Error code 1 (bu21)
*** Error code 1 (bu21)
*** Error code 1 (bu21)
sco_200:root[/usr/local/freetds] 358 $

lqqqqqqqqqqqqqqqqqqqq Software Manager (custom) on sco_200 qqqqqqqqqqqqqqqqqqqqk
xlqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqkx
xx Host   Software   View   Options                                      Help xx
xmqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqjx
x                                                                              x
x All software on sco_200                                                      x
xlqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqkx
xx*      GNU Development Tools (ver 5.0.7g)                                   xx
xx       Mtools - Utilities to access DOS disks in Unix (ver 3.9.1)           xx
xx       SCO OpenServer Desktop System (ver 5.0.7Hw)                          xx
xx       SCO OpenServer Development System (ver 5.2.0Aa)                      xx
xx       SCO OpenServer Enterprise System (ver 5.0.7Hw)                       xx
xx       SCO OpenServer Linker and Application Development Libraries (ver 5.2 xx
xx       SCO Supplements (ver 5.0.7Hw)                                        xx
xx       Unzip (ver 5.3)                                                      xx
xx       SCO OpenServer Release 5.0.7 Maintenance Pack 5 (ver 1.0.0Mc)        xx
xx                                                                            xx
xx                                                                            xx
xm<****************************************************qqqqqqqqqqqqqqqqqqqqqq>jx
x                                                                              x
x View All                                               Total 9   Selected 1  x
xqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqx
x The selected software is fully installed.                                    x
mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq

论坛徽章:
0
3 [报告]
发表于 2008-12-06 01:37 |只看该作者

回复 #2 zhangshebao 的帖子

1.        有先作 make 吗?
2.        若有的话, 请先检查 /usr/local/freetds/include 是否有缺如bkpublic.h 等的 head 檔
3.        试试看 重新 tar xvf /tmp/freetds-0.82.tar 并检查你对 /usr/local/的权限

我的环境
lqqqqqqqqqqqqqqqqqqqqq Software Manager (custom) on sco507 qqqqqqqqqqqqqqqqqqqqk
xlqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqkx
xx Host   Software   View   Options                                      Help xx
xmqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqjx
x                                                                              x
x All software on sco507                                                       x
xlqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqkx
xx*      Ncurses - curses, form, menu, panel libraries (ver 4.2)              xx
xx       SCO OpenServer Development System (ver 5.2.0Aa)                      xx
xx       SCO OpenServer Enterprise System (ver 5.0.7Hw)                       xx
xx       SCO OpenServer Release 5.0.7 Maintenance Pack 1 (ver 1.0.0Bs)        xx
xx                                                                            xx
xx                                                                            xx
xx                                                                            xx
xx                                                                            xx
xx                                                                            xx
xx                                                                            xx
xx                                                                            xx
xm<****************************************************qqqqqqqqqqqqqqqqqqqqqq>jx
x                                                                              x
x View All                                               Total 4   Selected 1  x
xqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqx
x The selected software is fully installed.                                    x
mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq

[ 本帖最后由 augugrm 于 2008-12-6 11:33 编辑 ]

论坛徽章:
0
4 [报告]
发表于 2008-12-06 10:13 |只看该作者
以前用sybase的库可以和SQL Server的低版本进行互操作,但是在SQL Server 7之后好像就不行了。
由于SQL Server从某种意义上说就是Sybase的变种,并且都使用了TDS协议,因此采用TDS协议与SQL Sevrer对接确实是可行的
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP