日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

asp mysql连接已重置,mysql-检查经典ASP中的连接是否正常

發(fā)布時間:2024/9/3 数据库 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 asp mysql连接已重置,mysql-检查经典ASP中的连接是否正常 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

有沒有一種簡單的方法來檢查連接字符串是否成功連接到指定的數(shù)據(jù)庫:

場景:

連接字符串示例:

ConnString="DRIVER={MySQL ODBC 5.1 Driver}; SERVER=###.###.####.##; PORT=3306; DATABASE=DbName; USER=DbUser; PASSWORD=DbUser_Pswrd; OPTION=3;"

如果上述操作失敗(例如,由于MySQL服務(wù)器當前處于脫機狀態(tài)),或者有什么簡單的方法可以檢查是否存在問題,而不是像下面解釋的那樣拋出一般錯誤80004005,則可以進行登錄嗎?

解決方案是解決頁面加載時引發(fā)的錯誤,該錯誤是由于連接無法連接到數(shù)據(jù)庫而導致代碼中的以下行導致錯誤的:

rs.ActiveConnection = connString

我想在讀取上述行之前捕獲此連接問題,以便我可以重定向到?jīng)]有連接字符串的頁面,并顯示一條消息,指出服務(wù)器當前處于離線狀態(tài)等.

我只需要catch錯誤代碼.

解決方法:

VBScript錯誤處理

在VBScript中捕獲錯誤的方法是使用On Error Resume Next語句和內(nèi)置在VBScript運行時中的Err對象.

什么是Err對象?

Err對象用于包含有關(guān)運行時引發(fā)的錯誤的信息,它始終包含最后引發(fā)的錯誤,并在引發(fā)更多錯誤時不斷覆蓋自身.

當出現(xiàn)錯誤時,執(zhí)行將停止,那么Err有什么意義呢?

這是因為默認情況下,錯誤會停止腳本執(zhí)行.但是,VBScript提供了一種機制,可以忽略這些錯誤并通過移至下一個可執(zhí)行行并填充Err對象來繼續(xù)執(zhí)行.為此,我們在希望執(zhí)行忽略運行時錯誤的位置放置一個On Error Resume Next語句.

It is important to remember that On Error Resume Next will only ignore runtime errors. Compilation Errors and Syntax Errors will still halt execution of a script.

所以我要使用On Error Resume接下來如何捕獲錯誤?

使用If語句,一旦引發(fā)錯誤,Err對象將被填充該錯誤并可以被查詢.

On Error Resume Next

'Line we are checking for error. When an error occurs execution will

'move to the next line, in this case the If Err.Number <> 0 Then.

rs.ActiveConnection = connString

If Err.Number <> 0 Then

'Raise a custom error, output error to screen or perform some action.

'Remember to clear the Err object before continuing.

Err.Clear

End If

'We no longer want to ignore errors

On Error Goto 0

Placing the On Error Resume Next statement resets the Err object as if the Err.Clear method had been called.

經(jīng)典ASP的常見用法

>有時您可能想檢測特定的錯誤并返回更友好的自定義響應(yīng),最簡單的方法是從If Err.Number<>建立響應(yīng). 0然后聲明.

If Err.Number <> 0 Then

Response.Write "Error (" & Err.Number & ") occurred: " & Err.Description

End If

>一種更復雜的方法是引發(fā)您自己的錯誤,然后其他人可以在執(zhí)行樹中捕獲該錯誤(取決于您的Web應(yīng)用程序的復雜性).

Err.Raise vbObjectError + 1, "My Custom App", "Connection not detected"

>您可能還想捕獲一個錯誤列表,這可以通過使用Array或Scripting.Dictionary對象來完成,而不是立即輸出錯誤.

Dim errors(), error_count

Dim err_obj

...

'This block could be repeated throughout the code for various

'error checks.

If Err.Number <> 0 Then

ReDim Preserve errors(error_count)

errors(error_count) = Array(Err.Number, Err.Description)

error_count = error_count + 1

End If

...

'Output errors

If IsArray(errors) Then

Response.Write "

" & error_count & " error(s) have been detected

"

Response.Write "

  • "
  • For Each err_obj In errors

    Response.Write "

    Error: " & err_obj(0) & " - " & err_obj(1) & ""

    Next

    Response.Write "

    "

    End If

    >使用Select語句而不是經(jīng)典的If語句方法檢測可能返回的各種錯誤代碼;

    Select Case Hex(Err.Number)

    Case &H800A0006

    'Overflow error

    Case &H800A000B

    'Division by zero error

    Case Else

    'Anything else

    End Select

    有用的鏈接

    標簽:adodb,vbscript,asp-classic,mysql

    來源: https://codeday.me/bug/20191119/2037061.html

    總結(jié)

    以上是生活随笔為你收集整理的asp mysql连接已重置,mysql-检查经典ASP中的连接是否正常的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。