为什么,为什么,我不能在PB65里用ODBC连接SQL7(大虾,救命!!!)

Christy 2000-07-24 03:43:00
我在PB65里想用ODBC连接SQL7的数据库,建立时没有问题也通过了测试,但是一旦真正连接(点数据库的图标)系统就提示:program type out of range.但是如果选用native的连接,就没问题。可是我必须用ODBC的连接,不知道哪位大虾可以帮这个忙,小妹在这里先多谢了!
...全文
403 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
viv_wangsc 2000-12-23
  • 打赏
  • 举报
回复
兄弟,尝试到www.sybase.com.cn下载pb6.5的最新的odbc驱动程序,或许可以解决你的问题:)
hamsee 2000-12-13
  • 打赏
  • 举报
回复
Christy:有这种可能,你的ODBC版本太低或者内部语言和你的SQL Server不一致。
可能你的ODBC是中文版,而你的SQL Server7和SQL Server所在的服务器操作系统
为英文。或者相反。试试看统一语言版本或者升级ODBC。
我瞎说的!
MHB 2000-12-09
  • 打赏
  • 举报
回复
PB6.5 完全不用通过 ODBC 跟 MS SQL Server 7 这样连接, 完全可以用 DBMS 直接连接, ODBC 连接程序会很慢的。
sheng_hu 2000-12-08
  • 打赏
  • 举报
回复
我同意hamsee的看法,如果不是非用ODBC不可的话,还是该用专用接口,这样产品发布时更方便了,也不用配置客户端ODBC了。

>>非要用ODBC的话,可试试看重装一下ODBC的最新版本。。。
lyre_lj 2000-12-06
  • 打赏
  • 举报
回复
可以直接连上的前提是你让pb6.5认为连的是sql server 6.5的数据库
hamsee 2000-12-03
  • 打赏
  • 举报
回复
别用ODBC了,用PB的SQL SERVER驱动程序吧!这样发布程序也很简单,只需要把你的机器
WINDOWS/SYSTEM下的DBMSSHRN.DLL和NTWDBLIB.DLL拷贝到安装目的机器的EXE文件夹或者
WINDOWS/SYSTEM下,就可以运行了,不用修改注册表,也不用配置ODBC,何乐而不为呢?
tpkj_fjw 2000-12-03
  • 打赏
  • 举报
回复
我很不理解,为何有专用接口不用,费这么大的事呢,你知不知道专用接口要比
odbc快很多的,odbc是多层的,sybase sql 和 ms sqlserver 在底层上是一致的,而
pb 是sybase出的当然快很多了,
wthai 2000-08-18
  • 打赏
  • 举报
回复
这个问题我遇到过,很好解决的,你不用ODBC,而直接用PB带的SQL SERVER驱动直接连接到你的
SQL SERVER数据库。
pc00000 2000-07-27
  • 打赏
  • 举报
回复
可能是驱动程序的问题。
不过也有可能是参数没有设对,SQL server的设置有问题。

还有!我认为还是用PB 6.5的比较好。
7.0毕竟对原来的进行了比较大的改动。(不象5.0到6.0)
期待有更新更好的版本出现。
~~~~~~~~~~~~~~~~~~~~~~~~~~:)
dawnsun 2000-07-27
  • 打赏
  • 举报
回复
为什么不使用OLE DB进行连接呢?那样的话十分简单,PB 6.5只需要装一个针对SQL SERVER 7的补丁就行,而且各方面都没有问题.
其实,PB6.5和PB7都有一堆补丁要装,否在虫子实在太多,有各种各样的麻烦.
w102272 2000-07-26
  • 打赏
  • 举报
回复
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升迁过来的。

至于PB7,我的PB7天天出问题,写几行程序就要存盘,倒是让我烦恼极了。
所以劝你千万不要也掉进这个WORM CAVE,要命也。
wcp 2000-07-26
  • 打赏
  • 举报
回复
我也遇到同样问题,但你可以使用直接驱动而不用ODBC。如果你有好办法,请告诉我们。
liuliushuang 2000-07-25
  • 打赏
  • 举报
回复
这个我还是第一次听说,不过我用PB7还没发现有什么BUG!
Christy 2000-07-25
  • 打赏
  • 举报
回复
liuliushuang谢谢你的回复,不过我前不久才听说PB7是一个bug home,而且从经验上来讲,Sybase的产品只要是*。0就多半有问题。
liuliushuang 2000-07-25
  • 打赏
  • 举报
回复
这些只能怪PB兼容性不好,我劝你还是安装PB7.0吧!因为我遇到的问题比你难:PB连不上任何数据库,包括Access用任何办法都不行,包括重装PB和数据库。而PB7.0非常好用,你一定会喜欢它的(PB7兼容PB6.5)。
longzu 2000-07-25
  • 打赏
  • 举报
回复
在SQL SERVER的光盘里有,在WIN98的光盘里也有,好好找找吧!
Christy 2000-07-25
  • 打赏
  • 举报
回复
我已经安装了SQL7,我重装了ODBC,但似乎不管用,longzu可否讲一下你是如何重装ODBC的。
longzu 2000-07-25
  • 打赏
  • 举报
回复
我在连Acess数据库时遇到一样的提示信息,我重装了一下ODBC就OK!了。
ssrrll 2000-07-24
  • 打赏
  • 举报
回复
SqlServer 的客户端安装了吗?

1,075

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧