2. 检查一下你的PHP版本,如果是5.2的话,需要将php目录下的libmysql.dll、php5ts.dll、libmcrypt.dll三个文件复制到WINDOWS目录下的SYSTEM32下;
3. 在1和2的基础上重启WEB SERVER
PS: 曾经遇到过这种情况,后来发现是PHP版本的问题,建议你下载VC 6.0编译器版本的PHP,不要使用VC 9.0的编译版本。
不管是用存储过程还是直接用SQL语句,大数据量 *** 作都会造成假死,可以尝试以下思路:
将一次性执行分成多次执行,比如全表替换,为了较好的用户体验,可以逐行替换,然后在循环里加DoEvents配合显示一个进度条。
或者,使用VB多线程技术(如ActiveX EXE)异步执行,主线程循环中加DoEvents等待执行数据 *** 作的线程结束的信息。
或者,使用SQL SERVER 2005以上版本支持的Service Broker,构建一个异步信息,在信息接收端执行数据 *** 作,具体步骤可GOOGLE网站的SQL SERVER异步触发器。
附:
异步执行就不会假死了,不过执行未完时最好不要作对这个过程有影响的 *** 作.
Private WithEvents Css As ADODB.Connection'''''''
Css.Execute "update table1 set a='x',b='y' ", , adAsyncExecute
Private Sub css_ExecuteComplete(ByVal RecordsAffected As Long, ByVal pError As ADODB.Error, adStatus As ADODB.EventStatusEnum, ByVal pCommand As ADODB.Command, ByVal pRecordset As ADODB.Recordset, ByVal pConnection As ADODB.Connection)
On Error GoTo EE
MsgBox "更新完毕."
Css.Close:Set Css = Nothing
Exit Sub
EE:
Set Css = Nothing
End Sub
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)