Halloj! Jag är tacksam som en nerborstad sportfiskare på 45 som får en gädda på kroken och ett helrör renat. Glöm status på uppkoppling dumma applikation!
Jag har en snurra som kör var 20:e sekund och försöker koppla upp mot en remote SQL-server.
Om den kan öppna en connection så stänger den den igen och lägger huvudapplikationen i onlineläge.
Om den inte kan öppna en connection så lägger den applikationen i offlineläge och använder Access så länge.
Så trodde jag att det funkade. MEN om applikationen startar i onlineläge och man sen rycker nätverkskabeln, så inte skiftar den över nästa gång. Det verkar som att den "kommer ihåg" senaste status och kör vidare på det.
Så vill jag inte ha det. Finns det något sätt att få applikationen att "glömma" sin status och testa igen??
Här är koden för subben som kör:
<code>
Private Sub ValidateConn()
Try
Dim conn As SqlConnection = New SqlConnection("Data source=111.222.333.444;Initial Catalog=testDB;UID=sa;PWD=sa")
conn.Open()
DBmode = "Online"
sMess = sMess & Now & " - DCM hittade onlineserver, onlineläget aktivt." & vbCrLf & "---------------------------------" & vbCrLf
Me.rtbStatus.Text = sMess
conn.Close()
SyncData()
Catch ex As SqlException
DBmode = "offline"
sMess = sMess & Now & " - Onlineserver kunde inte nås, växlar över i offlineläge." & vbCrLf & "---------------------------------" & vbCrLf
Me.rtbStatus.Text = sMess
Me.NIrun.Text = "DCM körs i offlineläge"
Me.NIrun.BalloonTipText = "Kan inte nå databasen, växlar till offlineläge!"
Me.NIrun.BalloonTipTitle = "Anslutningsproblem!"
Me.NIrun.BalloonTipIcon = ToolTipIcon.Warning
Me.NIrun.ShowBalloonTip(3000)
End Try
End Sub
</code>
//JohannesSv: Glöm status på uppkoppling dumma applikation!
1. kolla ex.ToString()
Det kan ju vara nåt som går snett som du inte hade räknat med..
2. Stäng av pooling. Lägg till detta i din connectionstring: Pooling=falseSv:Glöm status på uppkoppling dumma applikation!
:) :)
Pooling funkade.
Tack återigen.. :)