To Christy:
最好用PB6.5,PB7确实是个WORM HOME。我现在用PB7,每三分钟就要死一次。连些ACTIVEX控制就会出现各种莫名其妙的问题,极其恐怖。而我已经把6.5的库升级到7。0,想改回去都不行。
sql server 7的连接方法,要使用OLE DB接口,该接口在PB 6。5不支持,PB7也只是在集成环境中支持,在编译环境中没办法。
至于ODBC,采用SQL SERVER 7或者6。5的接口都可以。
安装SQL SERVER 7的ODBC驱动,就在SQL SERVER7盘上,如果用的是95的机器,可能要安装DCOM95。否则可以直接安装,装客户端连接就可以了,在DESKTOP或者标准版里头都有。另外,你也可以安装微软提供的一个叫MDAC的部件,所有数据访问接口都封装在里头。或者如果你安装过OFFICE97或者2000,基本上也不用重新安装ODBC了,OFFICE里头的也可以用。
关于,program type out of range这个错误,主要出现在具有长文本字段的表上,只要有TEXT或者类似字段,一定会出。用PB那个版本没有关系,问题出在ODBC驱动上。解决的办法是在SQL SERVER中把那些TEXT字段改成VARCHAR或者NVARCHAR,虽然不能支持无限长的MEMO,但是对一般的字段也就够用了。
至于SQL SERVER 7的OLE DB接口,没有办法别用了。
去掉TEXT字段,尽量使用VARCHAR(别用Nvarchar或者CHAR,也容易出问题),基本上就可以使用ODBC了。
我现在使用的就是SQL SERVER 6。5或者7。0的ODBC驱动,PB7客户程序,连接30-50客户没有任何问题。速度也比使用SQL ANYWHERE 6快多了,30%至少。我的系统就是这么从ANYWHERE升迁过来的。