佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

查看: 1019|回复: 15

MySQL 为什么会 data loss ??

[复制链接]
发表于 18-9-2005 03:50 PM | 显示全部楼层 |阅读模式
我有一个问题就是在什么的情况下会data loss 呢?

我是用asp + Mysql的。
平时我test的时候都不会data loss

有时就有人告诉我他们data loss.
不是一个两个,而是在他那时insert 的 data 全部loss。
也没有error。有error他们会说的。

为什么会这样呢?
回复

使用道具 举报


ADVERTISEMENT

发表于 18-9-2005 10:12 PM | 显示全部楼层
试试做一个 sql history log,
来看看到底是什么时候发生的。
回复

使用道具 举报

发表于 19-9-2005 09:38 AM | 显示全部楼层
原帖由 红发 于 18-9-2005 03:50 PM 发表
我有一个问题就是在什么的情况下会data loss 呢?

我是用asp + Mysql的。
平时我test的时候都不会data loss

有时就有人告诉我他们data loss.
不是一个两个,而是在他那时insert 的 data 全部loss。
也没 ...



红发老弟,
你是不是有用BeginTrans, Rollback 之类的东东, 但你的Exception Handler那里做到不“美”。 Rollback 了你也不懂?
回复

使用道具 举报

 楼主| 发表于 19-9-2005 10:15 PM | 显示全部楼层
原帖由 flashang 于 18-9-2005 10:12 PM 发表
试试做一个 sql history log,
来看看到底是什么时候发生的。


那个要如何作呢?
我只知道他们insert的data都没有去到我的mysql database 里。
又没有error。

我test的时候都没有这个问题。
data都insert的到。
回复

使用道具 举报

 楼主| 发表于 19-9-2005 10:23 PM | 显示全部楼层
原帖由 chinjw 于 19-9-2005 09:38 AM 发表



红发老弟,
你是不是有用BeginTrans, Rollback 之类的东东, 但你的Exception Handler那里做到不“美”。 Rollback 了你也不懂?


chinjw大哥,然你失望了。
我是用普通的insert。
你教我的那个beginTrans 和 Rollback的东东我没有去用他。
因为我还是不是很明白。
我用其他的方法。

但是我看php得好相是用array的东东。
哈,我也不是很清楚php的是用什么方法来做到的啦。
回复

使用道具 举报

发表于 20-9-2005 09:01 AM | 显示全部楼层
原帖由 红发 于 19-9-2005 10:23 PM 发表


chinjw大哥,然你失望了。
我是用普通的insert。
你教我的那个beginTrans 和 Rollback的东东我没有去用他。
因为我还是不是很明白。
我用其他的方法。

但是我看php得好相是用array的东东。
哈,我也不 ...


如flashang所说的,做些log file 来trace 你的statement lor..
你将做任insert statement 时 的 step 都write log 进你的log file(比如:拿connection string 成功,then 就 write log :"Success Get Connection String"; 开 Connection 成功就write log :"Success Open Connection"...etc) 酱你就懂那里出错了。
回复

使用道具 举报

Follow Us
 楼主| 发表于 20-9-2005 01:40 PM | 显示全部楼层
是不是write进那个Text File里。
回复

使用道具 举报

发表于 20-9-2005 02:04 PM | 显示全部楼层
原帖由 红发 于 20-9-2005 01:40 PM 发表
是不是write进那个Text File里。


Yup~~
Objective is trace ur insert progress..:sp:
回复

使用道具 举报


ADVERTISEMENT

 楼主| 发表于 20-9-2005 10:25 PM | 显示全部楼层
我还有一个疑问。

就是当我connect不到database的时候或
database里没有这个table时都会有error的。

为什么他们不会遇到error的????
还可以continue去insert他们的data呢??????

而且不是一个两个,
而是很多个data。
在哪一段时间loss掉10多个data。(30minutes 到 60minutes之间)
那就有一点奇怪了。(我是这样认为的)
回复

使用道具 举报

发表于 20-9-2005 10:33 PM | 显示全部楼层
原帖由 红发 于 20-9-2005 10:25 PM 发表
我还有一个疑问。

就是当我connect不到database的时候或
database里没有这个table时都会有error的。

为什么他们不会遇到error的????
还可以continue去insert他们的data呢??????

而且不是一个 ...


error control 有没有做好呢?connect 不到或 table not found 应该出 error message 吧?
回复

使用道具 举报

 楼主| 发表于 20-9-2005 11:02 PM | 显示全部楼层
就是没有才奇怪loh.
minimum会page cannot display的吗。

平时我用都没有这个问题的。
不知道是不是他们没有insert data就说data loss。
怕老板鸟他就说data loss?
回复

使用道具 举报

发表于 21-9-2005 08:45 AM | 显示全部楼层
原帖由 红发 于 20-9-2005 11:02 PM 发表
就是没有才奇怪loh.
minimum会page cannot display的吗。

平时我用都没有这个问题的。
不知道是不是他们没有insert data就说data loss。
怕老板鸟他就说data loss?


也有可能,
如要肯定的话,可post上来让大家研究,研究(如不介意的话)
或在你的app加上write log 的 function.
无论user在干什么你也可以write在log file.
在有data loss的问题的话你就可以拿你的log跟他们理论。(你的log file 有记录时间,可问他们己时insert data的,当你check回你的log file, 如发现他们所讲的时间你的app 跟本末run过,那就肯定他们讲大话了)
回复

使用道具 举报

 楼主| 发表于 21-9-2005 12:47 PM | 显示全部楼层
yaloh, i think do a log file is a nice choose.

every time said data loss....

later i will post my source code.
wait.......
回复

使用道具 举报

 楼主| 发表于 23-9-2005 02:15 PM | 显示全部楼层

  1. addnb.asp

  2. <!--#include file="conn.asp" -->
  3. <% RequireLogin = True %>
  4. <!--#include file="secure.asp"-->

  5. <html>
  6. <head>
  7. <meta http-equiv="Content-Language" content="en-us">
  8. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  9. <title>TT</title>
  10. </head>
  11. <script language="JavaScript">
  12. function CheckForm()
  13. {
  14.     if (document.regform.serialno.value.length == 0) {
  15.                 alert("You not yet key in the Serial No.");
  16.                 document.regform.serialno.focus();
  17.                 return false;
  18.         }
  19.     if (document.regform.brand.value.length == 0) {
  20.                 alert("You not yet key in the Brand.");
  21.                 document.regform.brand.focus();
  22.                 return false;
  23.         }
  24.     if (document.regform.nbmodel.value == "-") {
  25.                 alert("You not yet select the Model.");
  26.                 document.regform.nbmodel.focus();
  27.                 return false;

  28.         }
  29. }
  30. </script>
  31. <body>
  32. <div align="center">
  33.         <table border="0" width="790" cellspacing="0" cellpadding="0" id="table1">
  34.                 <tr>
  35.                         <td background="image/banner.gif" height="38">&nbsp;</td>
  36.                 </tr>
  37.                 <tr>
  38.                         <td><div align="center"><font color="#0000FF" face="Arial"><b>
  39.                         <%if Trim(Request.QueryString("action"))="fail" then
  40.                         response.write("Sorry,The Serial No already inside!!")
  41.                         Else
  42.                         response.write("*Please Key in Product Details.")
  43.                         end if%>
  44.                         </div></font></b></td>
  45.                 </tr>
  46.                 <tr>
  47.                         <td>&nbsp;</td>
  48.                 </tr>
  49.                 <tr>
  50.                         <td>
  51.                         <div align="center">
  52.                                 <table border="0" width="718" cellspacing="0" cellpadding="0" id="table2">
  53.                                 <form language="javascript" name="regform" method="post" action="pass2.asp?action=add" onSubmit="return CheckForm()">
  54.                                         <tr>
  55.                                                 <td width="286" align="right">&nbsp;</td>
  56.                                                 <td width="432">
  57.                                                 &nbsp;</td>
  58.                                         </tr>
  59.                                
  60.                                         <tr>
  61.                                                 <td width="286" align="right"><font face="Arial">Serial No :</font></td>
  62.                                                 <td width="432">
  63.                                                 <input type="text" name="serialno" size="25" style ="background-color: #FFFFA4" size="25"></td>
  64.                                         </tr>
  65.                                         <tr>
  66.                                                 <td width="286" align="right"><font face="Arial">Brand :
  67.                                                 </font> </td>
  68.                                                 <td width="432">
  69.                                                 <input type="text" name="brand" size="25" style ="background-color: #FFFFA4"></td>
  70.                                         </tr>
  71.                                         <tr>
  72.                                                 <td width="286" align="right"><font face="Arial">Model :
  73.                                                 </font></td>
  74.                                                 <td width="432">
  75.                                                 <SELECT name=nbmodel style ="background-color: #FFFFA4">
  76.                                                 <%set rs11=server.CreateObject("adodb.Recordset")
  77.                                                 sql11 = "SELECT nbmodel FROM nbmodel"
  78.                                                 rs11.Open sql11, conn       
  79.                                                 Do while not rs11.EOF
  80.                                                         if nbmodel = rs11("nbmodel") then
  81.                                                                 Response.Write "<OPTION VALUE = '"&rs11("nbmodel")&"' SELECTED>"
  82.                                                                 Response.Write rs11("nbmodel")&"</Option>"
  83.                                                                 rs11.MoveNext
  84.                                                         else
  85.                                                                 Response.Write "<OPTION VALUE = '"&rs11("nbmodel")&"'>"
  86.                                                                 Response.Write rs11("nbmodel")& "</Option>"
  87.                                                                 rs11.MoveNext
  88.                                                         end if
  89.                                                 loop
  90.                                                 rs11.close%>
  91.                                                 </SELECT>
  92.                                                 </td>
  93.                                         </tr>
  94.                                         <tr>
  95.                                                 <td width="286">
  96.                                                 <p align="right"><font face="Arial">RAM :</font></td>
  97.                                                 <td width="432">
  98.                                                 <SELECT name=ram style ="background-color: #FFFFA4">
  99.                                                 <%set rs5=server.CreateObject("adodb.Recordset")
  100.                                                 sql5 = "SELECT * FROM ram"
  101.                                                 rs5.Open sql5, conn       
  102.                                                 Do while not rs5.EOF
  103.                                                         if ram = rs5("ram") then
  104.                                                                 Response.Write "<OPTION VALUE = '"&rs5("ram")&"' SELECTED>"
  105.                                                                 Response.Write rs5("ram")&"</Option>"
  106.                                                                 rs5.MoveNext
  107.                                                         else
  108.                                                                 Response.Write "<OPTION VALUE = '"&rs5("ram")&"'>"
  109.                                                                 Response.Write rs5("ram")& "</Option>"
  110.                                                                 rs5.MoveNext
  111.                                                         end if
  112.                                                 loop
  113.                                                 rs5.close%>
  114.                                                 </SELECT></td>
  115.                                         </tr>
  116.                                         <tr>
  117.                                                 <td width="286">
  118.                                                 <p align="right"><font face="Arial">Hard Disk :</font></td>
  119.                                                 <td width="432">
  120.                                                 <SELECT name=disk style ="background-color: #FFFFA4">
  121.                                                 <%set rs4=server.CreateObject("adodb.Recordset")
  122.                                                 sql4 = "SELECT * FROM disk"
  123.                                                 rs4.Open sql4, conn       
  124.                                                 Do while not rs4.EOF
  125.                                                         if disk = rs4("disk") then
  126.                                                                 Response.Write "<OPTION VALUE = '"&rs4("disk")&"' SELECTED>"
  127.                                                                 Response.Write rs4("disk")&"</Option>"
  128.                                                                 rs4.MoveNext
  129.                                                         else
  130.                                                                 Response.Write "<OPTION VALUE = '"&rs4("disk")&"'>"
  131.                                                                 Response.Write rs4("disk")& "</Option>"
  132.                                                                 rs4.MoveNext
  133.                                                         end if
  134.                                                 loop
  135.                                                 rs4.close%>
  136.                                                 </SELECT></td>
  137.                                         </tr>
  138.                                         <tr>
  139.                                                 <td width="286">
  140.                                                 <p align="right">
  141.                                                 <font face="Arial">Drive :</font></td>
  142.                                                 <td width="432">
  143.                                                 <SELECT name=drive style ="background-color: #FFFFA4">
  144.                                                 <%set rs7=server.CreateObject("adodb.Recordset")
  145.                                                 sql7 = "SELECT * FROM drive"
  146.                                                 rs7.Open sql7, conn       
  147.                                                 Do while not rs7.EOF
  148.                                                         if drive = rs7("drive") then
  149.                                                                 Response.Write "<OPTION VALUE = '"&rs7("drive")&"' SELECTED>"
  150.                                                                 Response.Write rs7("drive")&"</Option>"
  151.                                                                 rs7.MoveNext
  152.                                                         else
  153.                                                                 Response.Write "<OPTION VALUE = '"&rs7("drive")&"'>"
  154.                                                                 Response.Write rs7("drive")& "</Option>"
  155.                                                                 rs7.MoveNext
  156.                                                         end if
  157.                                                 loop
  158.                                                 rs7.close%>
  159.                                                 </SELECT></td>
  160.                                         </tr>
  161.                                         <tr>
  162.                                                 <td width="286">
  163.                                                 <p align="right"><font face="Arial">Mouse :</font></td>
  164.                                                 <td width="432">
  165.                                                 <input type="text" name="mouse" size="25" style ="background-color: #FFFFA4" size="25"></td>
  166.                                         </tr>
  167.                                         <tr>
  168.                                                 <td width="286">
  169.                                                 <p align="right"><font face="Arial">Status :</font></td>
  170.                                                 <td width="432">
  171.                                                 <SELECT name=statu style ="background-color: #FFFFA4">
  172.                                                 <%set rs8=server.CreateObject("adodb.Recordset")
  173.                                                 sql8 = "SELECT * FROM statu"
  174.                                                 rs8.Open sql8, conn       
  175.                                                 Do while not rs8.EOF
  176.                                                         if statu = rs8("statu") then
  177.                                                                 Response.Write "<OPTION VALUE = '"&rs8("statu")&"' SELECTED>"
  178.                                                                 Response.Write rs8("statu")&"</Option>"
  179.                                                                 rs8.MoveNext
  180.                                                         else
  181.                                                                 Response.Write "<OPTION VALUE = '"&rs8("statu")&"'>"
  182.                                                                 Response.Write rs8("statu")& "</Option>"
  183.                                                                 rs8.MoveNext
  184.                                                                
  185.                                                         end if
  186.                                                 loop
  187.                                                 rs8.close
  188.                                                 %>
  189.                                                 </SELECT></td>
  190.                                         </tr>
  191.                                         <tr>
  192.                                                 <td width="286">&nbsp;</td>
  193.                                                 <td width="432">&nbsp;</td>
  194.                                         </tr>
  195.                                         <tr>
  196.                                                 <td width="718" colspan="2"><p align="center">
  197.                                                 <input type="submit" value="Submit" name="Submit"> <input type="reset" value="Reset" name="Reset"></p></td>
  198.                                         </tr>
  199.                                 </form>
  200.                                 </table>
  201.                         </div>
  202.                         </td>
  203.                 </tr>
  204.                 <tr>
  205.                         <td>&nbsp;</td>
  206.                 </tr>
  207.         </table>
  208. </div>
  209. </body>
  210. </html>
  211. <%conn.close%>
复制代码


  1. pass2.asp

  2. <!--#include file="conn.asp"-->
  3. <% RequireLogin = True %>
  4. <!--#include file="secure.asp"-->

  5. <% username=session("username")
  6. set rs=server.CreateObject("adodb.Recordset")
  7. sql="Select * From usr where username='"&username&"'"
  8. Rs.Open sql,conn
  9. location=rs("location")
  10. rs.close%>

  11. <%action=request.QueryString("action")

  12. select case action
  13. case "add"
  14. serialno=Trim(Request.Form("serialno"))
  15. rdate=(FormatDateTime(date(),vblongdate))
  16. brand=Trim(Request.Form("brand"))
  17. nbmodel=Trim(Request.Form("nbmodel"))
  18. ram=Trim(Request.Form("ram"))
  19. disk=Trim(Request.Form("disk"))
  20. drive=Trim(Request.Form("drive"))
  21. mouse=Trim(Request.Form("mouse"))
  22. statu=Trim(Request.Form("statu"))
  23. set rs=server.CreateObject("adodb.recordset")
  24. sql="select * from nb where serialno='"&serialno&"'"
  25. rs.open sql,conn,3,2
  26. if not (rs.bof and rs.eof) then
  27. response.Redirect("editnb.asp?action=fail")
  28. else
  29. sql="insert into nb (serialno, rdate, brand, nbmodel, ram, disk, drive, mouse, location, statu)values ('"&serialno&"', '"&rdate&"', '"&brand&"', '"&nbmodel&"', '"&ram&"', '"&disk&"', '"&drive&"', '"&mouse&"', '"&location&"', '"&statu&"')"
  30. conn.Execute (sql)
  31. okstring="<html><head><meta http-equiv=Content-Type content=text/html; charset=UTF-8><title>Add Success</title><meta http-equiv=refresh content=5;URL=viewnb.asp></head>"
  32. okstring=okstring+"<body><font color=#FF6000><div align=center><b>"&serialno&"</b>,already successful insert into the database.<br><a href=viewnb.asp>click here to insert another Product.</a></div></font></body></html>"
  33. response.Write(okstring)
  34. rs.close
  35. conn.close
  36. end if

  37. case "edit"
  38. id=Trim(request.QueryString("id"))
  39. brand=Trim(Request.Form("brand"))
  40. nbmodel=Trim(Request.Form("nbmodel"))
  41. disk=Trim(Request.Form("disk"))
  42. ram=Trim(Request.Form("ram"))
  43. drive=Trim(Request.Form("drive"))
  44. mouse=Trim(Request.Form("mouse"))
  45. location=Trim(Request.Form("location"))
  46. statu=Trim(Request.Form("statu"))
  47. sql="update nb set brand='"&brand&"', nbmodel='"&nbmodel&"', disk='"&disk&"', ram='"&ram&"', drive='"&drive&"',  mouse='"&mouse&"', location='"&location&"', statu='"&statu&"' where id='"&id&"'"
  48. conn.Execute (sql)
  49. okstring="<html><head><meta http-equiv=Content-Type content=text/html; charset=UTF-8><title>Edit Success</title><meta http-equiv=refresh content=5;URL=viewnb.asp></head>"
  50. okstring=okstring+"<body><font color=#FF6000><div align=center>You already successful update the database.<br><a href=viewnb.asp>Click Here to View Others Products Details.</a></div></font></body></html>"
  51. response.Write(okstring)
  52. conn.close

  53. end select%>
复制代码

[ 本帖最后由 红发 于 23-9-2005 02:18 PM 编辑 ]
回复

使用道具 举报

 楼主| 发表于 23-9-2005 02:16 PM | 显示全部楼层

  1. <%
  2. LoggedIn = (len(session("username"))> 0)
  3. LoggedIn = (len(session("password"))> 0)

  4. IF RequireLogin THEN
  5.    if Not LoggedIn then
  6.                    response.redirect("login.asp")
  7.    end if
  8. END IF

  9. Response.CacheControl = "no-cache"
  10. Response.AddHeader "Pragma", "no-cache"
  11. Response.Expires = -1
  12. %>

复制代码


  1. <%
  2. connection = "dsn=info;driver={myodbd driver};server=localhost;uid=root;pwd=chen1983;database=info"
  3. set conn = server.createobject("adodb.connection")
  4. conn.open connection
  5. %>
复制代码
回复

使用道具 举报

 楼主| 发表于 23-9-2005 02:25 PM | 显示全部楼层
来迟了,不好意识。
回复

使用道具 举报


ADVERTISEMENT

您需要登录后才可以回帖 登录 | 注册

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 20-2-2025 09:56 AM , Processed in 0.175673 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表