0

IIS 6 と ASP クラシックを実行しているサイトがあります。Oracle データベースに接続して情報を収集し、この Web ページに表示します。データベースがダウンしている場合、エンド ユーザーには、データベースに接続できないという典型的な ASP エラー メッセージが表示されます。「現在、データベースは現在利用できません」のようなカスタム エラー メッセージを表示したいと考えています。これを達成するためにOracle接続文字列を使用してASPで構文を提供できる人はいますか?

ありがとう。

4

2 に答える 2

1

これは私が使用するものです。

On Error Resume Next

Set con = Server.CreateObject( "ADODB.Connection" )
con.Open "Provider=myOracleProvider;Data Source=myOracleDB;User Id=myUsername;Password=myPassword;"

If Err.Number = 0 And con.Errors.Count = 0 Then
    'No problems connecting to DB so don't do anything
ELSE
    'Problems connecting to DB so do something to handle this or alert adm
END IF

On Error goto 0

明らかに、特定の Oracle 環境とデータベース資格情報に合わせて接続文字列を調整してください。

于 2013-11-06T11:12:57.600 に答える
0

従来の ASP には try catch のような構文があります。次にエラー時の再開を使用します。詳細については、Try-Catch-End Try in VBScript を参照してください。その後、db 接続の初期化の直前にエラー ステータスを 0 にリセットできます。すべてのエラー メッセージを収集し、最後に表示する関数を使用することもできます。

dim error_string 'initiate the variable

            function readAndSetErrors(msg) 'Custom error message function

                if err <> 0 then
                    error_string = error_string & "<br/>" msg 'Add the custom error message if there is an error           

                end if
                  set err = 0 'rest the error 
            end function

            On Error Resume Next
        'Connection string 
        strConnection = "driver={oracle in instantclient_11_2};DataSource=XYZ;Uid=username;Pwd=password;"
        Set objConn = Server.CreateObject("ADODB.Connection") ' create connection object

        set err = 0 'Reset the err just in case
        objConn.Open (strConnection )  ' open the connection
        function readAndSetErrors("The database is currently unavailable at this time") 'execute the function
    ' more code and may be more function calls

    Response.write(error_string)
于 2013-11-06T07:11:37.767 に答える