|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
BlackHole黑洞引擎,写入的任何数据都会消失,一般用于记录binlog做复制的中继语句
头几天写一个程序时,偶然中碰到一个怪成绩.
症状形貌以下:
一台遐想服务器上安装了SQLSERVER服务,在其一个数据库里写了一个存储历程.此存储历程承受一个参数,内里的语句对参数举行判别然后实行分支.
if@CustType=0
..................
elseif@CustType=1
.......................
else
...............
基础布局是如许.
当我在开辟的时分,用我的条记本(康柏)上的程序连上服务器,程序里用的ADO中的Recordset来处置.当实行到rs.open时一点成绩也没有.在服务器上也用此程序实行挪用存储历程也没有成绩,统统一般.
可是当用该单元的其他盘算机(都是遐想),用一样的程序会见时,当实行到存储过程当中第一种情形时,一切的窗体都主动封闭,也没有任何的非常呈现.
另有一种出格的情形存在,由于这个成绩之前在个中一台遐想机上有过,厥后我往检察这个成绩,查不出缘故原由.因而我在这台盘算机上安装了VS6,现场调试,但是我调试时统统一般,过了一个月后,又呈现本来的成绩(窗体全封闭)
这下成绩年夜了.一样的程序在分歧的盘算机上实行时偶然一般偶然不一般,程序我信任相对没有错.我想多是盘算机设置有成绩.因而当一台盘算机重做了,再试,仍是不可.
想一想会不会是SP没打,又会了近二个小时把一切的SP安装好.仍是不一般.再安装VS6,也没有效.成绩究竟在那里呢.我细心想一想,我曾想到会不会是遐想的破呆板有成绩,会不会是他的CPU指令不合错误.(由于呆板对照旧一点,再说在其他盘算机上历来不呈现这类成绩).我试着将程序中第一种情形的值改动一下,原本是0,改成3如许没有成绩.因而我将存储过程当中的if@CustType=0改成if@CustType=3.成绩又呈现了.会不会成绩呈现在这个分支,内里的逻辑一定都是对的.看到此分支最初有一行代码,此代码是调试时用的.用来检察存储历程实行时,扭亏为实行了甚么语句,也就是一句print(@SqlStr),会不会是这语句引发的.将其正文了).翻开程序再试.在刀有的盘算机上经由过程.
本来这个成绩是print语句引发的.怪就怪在有的客户端实行时不会有成绩.,而呈现成绩时又不报任何非常,只是将客户端窗体主动封闭.看来今后写程序时必定要注重这个成绩.要将调试代码清算失落.害得我白白花了近一天的工夫.
支持AIX、FreeBSD、HP-UX、Linux、MacOS、NovellNetware、OpenBSD、OS/2Wrap、Solaris、Windows等多种操作系统 |
|