0

私はsqldatasourceを使用してasp.netのOracleデータベースに接続しています。これが私の接続文字列です

<add name="ConnectionString3" connectionString="Data Source=sml; User ID=sml; Password=sml; Unicode=True; Pooling=False;" providerName="System.Data.OracleClient"/>

接続を開き、何かを選択した後、接続を閉じます。問題は、データベースのセッションを参照すると、そこに 2 つのロックされたセッションが存在することです。そして、私がasp.netサーバーをシャットダウンするまで、それらはクリアされませんクエリ後にデータベースからログアウトできます。

アップデート

 Dim con = New OleDbConnection("Data Source=sml; User ID=sml; Password=sml; provider=OraOLEDB.Oracle; Pooling=false")
    Try
        con.Open()
        Dim cmd As New OleDbCommand("SELECT UPDTIME, YBAL_J, SCROLL_J, PENDING_PMT_J, YBAL_B, SCROLL_B, PENDING_PMT_B, CR_DT, OUT_BAL_J, OUT_BAL_B,SUGAR_J,CANE_CRUSH_J,RECOVERY_J,ETHANOL_J,SHEET_J,SUGAR_B,CANE_CRUSH_B,RECOVERY_B,ETHANOL_B FROM CMS20122013.V_DASH_LABELS@CMS", con)

        Dim da As New OleDbDataAdapter(cmd)
        Dim ds As New DataSet
        da.Fill(ds)

        Label1.Text = ds.Tables(0).Rows(0)(0).ToString
        Label5.Text = ds.Tables(0).Rows(0)(0).ToString
        Label2.Text = ds.Tables(0).Rows(0)(1).ToString
        Label3.Text = "Scroll Issued: " & ds.Tables(0).Rows(0)(2).ToString
        Label4.Text = "Payment Pending: " & ds.Tables(0).Rows(0)(3).ToString
        Label6.Text = ds.Tables(0).Rows(0)(4).ToString
        Label7.Text = "Scroll Issued: " & ds.Tables(0).Rows(0)(5).ToString
        Label8.Text = "Payment Pending: " & ds.Tables(0).Rows(0)(6).ToString
        Label14.Text = ds.Tables(0).Rows(0)(7).ToString
        GridView4.Columns(4).HeaderText = ds.Tables(0).Rows(0)(8).ToString
        GridView9.Columns(4).HeaderText = ds.Tables(0).Rows(0)(9).ToString
        GridView2.Columns(0).HeaderText = "Crushing [" & ds.Tables(0).Rows(0)(11).ToString & "]"
        GridView7.Columns(0).HeaderText = "Crushing [" & ds.Tables(0).Rows(0)(16).ToString & "]"
        con.Close()
        con.Dispose()
    Catch ex As Exception
        con.Close()
        con.Dispose()
    Finally
        con.Close()
        con.Dispose()
    End Try
4

1 に答える 1

1

C# の "using" 構文を試しましたか?

using(var connection = new OracleConnection("some connection string"))
{
     connection.Open();

     //do stuff with connection
}

詳細はこちら: http://msdn.microsoft.com/en-us/library/yh598w02(v=vs.100).aspx

于 2012-11-15T11:04:02.040 に答える