存储过程的调用
PB8连sqlserver2000,我写了一个存储过程,直接在sqlserver中运行正确,在我的程序中用sqlserver的客户端连,也就是在程序中写:
SQLCA.DBMS = "MSS Microsoft SQL Server 6.x",也能正确调用。但是如果用odbc连:SQLCA.DBMS = "ODBC"
SQLCA.AutoCommit = False
SQLCA.DBParm = "ConnectString='DSN=xxx;UID=sa;PWD=xxx'"就出问题了,执行存储过程的结果总是sqlca.sqlcode = -1,但是sqlca.sqlerrtext却什么也没有。郁闷!那位高手知道怎么回事?望告知。
问题点数:100、回复次数:11Top
1 楼zyzj216(秋水玲珑寒)回复于 2003-06-03 15:55:47 得分 0
没有见过这样的问题:检查odbc是否配置正确!!!Top
2 楼dth_ljb(Raymond)回复于 2003-06-03 16:02:05 得分 0
odbc怎样配置才叫正确?连数据库没有问题啊,数据窗口也运作良好啊,在程序中写其他的sql语句没问题,游标也能好使。Top
3 楼tj_dns(愉快的登山者)回复于 2003-06-03 16:06:29 得分 0
ODBC建立DSN是否正确,测试是否连接正常。
可以用DATAWINDOW测试,再是过程。
Top
4 楼fengzeng(风之子)回复于 2003-06-03 16:09:45 得分 0
何不就用连接sqlserver的专用接口呢?通过db profile--edit-preview将ODBC连接代码拷贝到脚本中试试,如果不成功则ODBC连接有问题,看看ODBC的测试连接是否能通过!Top
5 楼tj_dns(愉快的登山者)回复于 2003-06-03 16:10:15 得分 0
将连接超时增大,或设为0。Top
6 楼dth_ljb(Raymond)回复于 2003-06-03 16:20:15 得分 0
odbc的连结肯定是正确的,这没问题。数据窗口,或者直接在程序中用其它sql代码都没问题。Top
7 楼dth_ljb(Raymond)回复于 2003-06-03 16:28:42 得分 0
有人知道怎么办吗?Top
8 楼fengzeng(风之子)回复于 2003-06-03 16:36:28 得分 0
后台存储过程中加入事务处理机制,可到SQL SERVER论坛中找找,有很多!Top
9 楼waterstony(王小石)回复于 2003-06-03 17:20:25 得分 50
执行存储过程的时候将sqlca.autocommit设成true,执行完了再设回来。Top
10 楼tjm1(奇迹会发生!)回复于 2003-06-04 07:59:51 得分 0
不用odbc不就行了。Top
11 楼tchatcha(沧桑,孤独,浪漫,但执着!)回复于 2003-06-04 08:24:22 得分 50
http://expert.csdn.net/Expert/topic/1858/1858983.xml?temp=.2030603Top




