I've built a small PC app that resides in the Task Bar Tray until one of our employees sends a signal to it with a handheld device.When the PC app is activated, we connect to the SQL Server to retrieve records using Integrated Security on the PC:Private m_conn As SqlConnectionPublic Sub New() InitializeComponent() m_conn = New SqlConnection("Data Source=ACTIVE1;Initial Catalog=Inventory;Integrated Security=SSPI;") ' more code that isn't relivantEnd Sub
The problem is that after the PC app has sat around idle for a few hours, the employees get the generic SQL error message "Cannot generate SSPI context." Basically, it can not log in.My routine that uses the SQL Server is all contained, so I don't know how to prevent this error.Private Sub ViewData() Dim cmd As New SqlCommand("SELECT * FROM PartsTable WHERE SN=@SERNO", m_conn) cmd.Parameters.AddWithValue("@SERNO", SN) Dim da As New SqlDataAdapter(cmd) Dim dt As New DataTable() Try da.Fill(dt) If (0 < dt.Rows.Count)) Then ' sometimes it gets here, but not if the app has been idle for a while End If Catch ex As Exception MessageBox.Show(ex.Message) Finally dt.Dispose() da.Dispose() End TryEnd Sub
If I can connect 5-10 times straight, what would cause code like this to fail after it has been sitting idle for a while? When the PC app is activated, a Dialog Box is displayed that the Employee has to confirm the operation on. Only then is this routine called.