当前位置: 代码迷 >> PB >> [新人任]PB做的小工具排他性独占了SQL server,怎么处理
  详细解决方案

[新人任]PB做的小工具排他性独占了SQL server,怎么处理

热度:152   发布时间:2016-04-29 05:19:11.0
[新人任求助]PB做的小工具排他性独占了SQL server,怎么办
公司用的考勤和消费系统年代久远,软件功能跟不上
好在作为网管的我自学过PB,就在原先的SQL数据库基础上
做了几个报表小工具,给相关部门查看打印什么的
功能是实现了,但是有一个问题

就是我做的小工具一运行,原先的考勤和消费系统就无法使用了,一片假死状态
只要我的小工具一关,它们就立马脱离死机状态,回复正常

按照我这个新手的理解是我的小工具排他性独占了SQL

我应该怎么完善我的语句呢?
难道每个事件前面加一句“CONNECT;”,事件末尾加一句“DISCONNECT;”

不至于吧

网上找了好久也不得要领,请帮忙指点一下
------解决思路----------------------
什么语句锁了某个表吧,你把autocommit设成true试试看
------解决思路----------------------
要看你数据库的连接方式是什么类型,如果是OLEDB,那么把SQLCA.Lock设置为"RC"
------解决思路----------------------
在你执行数据库的代码后面都加上commit;试一下吧。
------解决思路----------------------
在连接数据库处,增加红色部分试试!

SQLCA.DBMS = "OLE DB"
SQLCA.LogPass = trim(profilestring('dbms.ini' , "database" , "logpass",""))
SQLCA.LogId = profilestring('dbms.ini' , "database" , "logid" , "")
SQLCA.AutoCommit = false
SQLCA.lock = 'RC'
SQLCA.DBParm = "PROVIDER='SQLOLEDB',"+&
"DATASOURCE='"+ trim(profilestring('dbms.ini' , "database" , "serverip" , "")) + "'," +&
"PROVIDERSTRING='Database="+profilestring('dbms.ini' , "database" , "dbname" , "")+"'"

CONNECT USING SQLCA ;
if SQLCA.SQLCode <> 0 then
messagebox("提示信息:", '系统错误,无法连接数据库,请与管理员联系!' + SQLCA.SQLErrText , stopsign!)
halt close
end if
  相关解决方案