hur.cn - 华软网

 热门搜索

100分相送!!pb10 用ole db连接ms sql 2000频繁死锁。

  作者:未知    来源:网络    更新时间:2019/4/16
参数:
SQLCA.DBMS = "OLE DB"
SQLCA.LogPass = ls_pass
SQLCA.LogId = "SA"
SQLCA.Lock = "RC" SQLCA.AutoCommit = False
SQLCA.DBParm = "PROVIDER='SQLOLEDB',PROVIDERSTRING='DATABASE="+ ls_Database +"',DATASOURCE='"+ ls_Server +"',PBTrimCharColumns='YES'"   

完全酿成单机版了,原来pb 9 直连一点问题没有!急啊,是个正在运行的公司管理系统!
------华软网友回答------
不敢用PB10,感觉问题很多!
------华软网友回复------
及时地commit or rollback

不要一个事务长时间运行
------华软网友回复------
能够肯定不是commit or rollback的问题,
PB 9一切正常,系统已运行了两三年了,刚升级到pb10就出大问题了!!!!快来救我!!!

------华软网友回复------
呵呵
------华软网友回复------
PB 9一切正常,系统已运行了两三年了,刚升级到pb10就出大问题了!!!!快来救我!!!
由于以上原因,能够思量运用pb9!!!哈哈
------华软网友回复------
jf
------华软网友回复------
Pb10 听说问题多多,呵呵
------华软网友回复------
没有措施吗?没有人用PB10吗?由于代码已修改了近一个月,回到PB9几乎不可能了!
------华软网友回复------
汗,只可帮你顶了
我用8.0的
------华软网友回复------
一直不敢尝试10或11,10用了几天感觉一个字‘怕’。照旧觉得9稳定
------华软网友回复------
试试打补钉吧.
以前有人遇到过,惋惜他最后没有贴出解决方法出来,否则的话我就能够告诉你了.

如果楼主解决的话,请贴出解决方法吧.
------华软网友回复------
楼主不再直接升级到pb10.5吧,数据窗口增加了几个很好的功能!
------华软网友回复------
SQLCA.AutoCommit = False 改成SQLCA.AutoCommit = True
------华软网友回复------
追踪数据库解决把,追踪锁情况,可能是一些设置变动了,死锁一般只跟数据库有关系,看是否是隔离级别犯错了
------华软网友回复------
打电话直接问了蓝快,说是MS的OLE DB的问题,升级到PB10运用OLE DB连接SQL SERVER后主要有两个问题:1、频繁出现死锁(已打PB10最新补钉),2、数据措置惩罚效率比直连明显低了很多。
我预计照旧OLE DB的配置问题:
SQLCA.DBMS = "OLE DB"
SQLCA.LogPass = ls_pass
SQLCA.LogId = "SA"
SQLCA.Lock = "RC" SQLCA.AutoCommit = False
SQLCA.DBParm = "PROVIDER='SQLOLEDB',PROVIDERSTRING='DATABASE="+ ls_Database +"',DATASOURCE='"+ ls_Server +"',PBTrimCharColumns='YES'"  
我也正在查阅资料,如果此问题能解决,我将在第一时间贴出解决方法,谢谢列位。
------华软网友回复------
1 \每次调用先autocommit = true 先,
2\你放在程序目录的老dll换了没????可能就这个了.

------华软网友回复------
学校用的pb9 才入门 帮不上忙。。。
------华软网友回复------
pb8,好像比以后的版本要好些!我有一个工程,用pb9加载,用了10分钟,郁闷!!!!
------华软网友回复------
如果此问题能解决,我将在第一时间贴出解决方法,谢谢列位
=====================================
支持 :)
------华软网友回复------
查了一些资料,现在依然没有有效的解决措施,看来还淂继续期待
------华软网友回复------
这是从GOOGLE.COM的新闻组转过来的:
题目:SQL Server 2000 with OLEDB
看你是否能够试试。

SQLCA.DBMS = "OLE DB" 
SQLCA.LogId = ls_user 
SQLCA.LogPass = ls_password 
SQLCA.Lock = "RC" 
SQLCA.AutoCommit = False 
SQLCA.DBParm = "PROVIDER='SQLOLEDB',DATASOURCE='" + ls_server + 
"',PROVIDERSTRING='DataTypeCompatibility=80;database=" + ls_database + 
";App=" + ls_application + ";WSID=" + ls_workstation + 
"',TIMEOUT=160,OJSyntax='ANSI',PBTrimCharColumns='Yes',PBMaxBlobSize=102400­0,RecheckRows=1" 


CONNECT USING SQLCA; 
IF SQLCA.SQLCode <> 0 THEN RETURN SQLCA.SQLCode 


EXECUTE IMMEDIATE "SET ANSI_DEFAULTS ON" USING SQLCA; 
EXECUTE IMMEDIATE "SET CONCURRENCY READONLY" USING SQLCA; 
EXECUTE IMMEDIATE "SET ANSI_PADDING OFF" USING SQLCA; 
EXECUTE IMMEDIATE "SET ANSI_WARNINGS OFF" USING SQLCA; 


EXECUTE IMMEDIATE "SET CURSOR_CLOSE_ON_COMMIT OFF" USING SQLCA; 
EXECUTE IMMEDIATE "SET NOCOUNT OFF" USING SQLCA; 


原文地址:http://groups-beta.谷歌.com/group/sybase.public.powerbuilder.connectivity/browse_thread/thread/dbcb8901ecdb80d8/8836a7a7d98b24d8?hl=en
------华软网友回复------
为啥要用ole db连接数据库呢,这个接口说实在话,老欠好用的。
------华软网友回复------
我觉得OLE蛮好的,比直连方便稳定。
------华软网友回复------
我现在也遇到这个问题。
咱们是从半年前就升级到PB10的,一直没有问题,现在突然就出现的问题。
有没有那个高手解答出来了阿。
------华软网友回复------
建议不要用OLE,这控件不稳定!
------华软网友回复------
可是现在程序已经是 PB10了,odbc和 ado.net也不知道有没有问题。
微软的OLE DB 已经宣布好几年了,应该没有什么大的问题,
可现在就是 PB10 + OLE DB出了问题的。
------华软网友回复------
打了最新升级包后,死锁现象基本没有了,但用户反映速度比pb9至少慢了一倍以上
------华软网友回复------
我已经打补钉到  PB10.2.1 build9671版了。
问题依然存留。      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。