Windows Service having problem while connecting to SQL Server database

0

I'm creating a Windows service that needs to connect to a SQL Server database in order to insert some data. While the service is running, it's shows System.Data.SqlClient.SqlException (0x80131904). FYI, the service is installed as "Local System".

I have tried changing my connection string into

Server=DESKTOP-FTJ3EOA\SQLEXPRESS;Initial Catalog=MonitorDB;Integrated Security=True

But it still cannot connect.

This are my Windows service code:

Dim childrenID As String
Using regkey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry64).OpenSubKey("SOFTWARE\MonitoringApplication\Login", RegistryKeyPermissionCheck.Default)
    childrenID = regkey.GetValue("Login User").ToString
End Using
Try
    Dim connection As New SqlConnection("Server=DESKTOP-FTJ3EOA\SQLEXPRESS;Initial Catalog=MonitorDB;Integrated Security=True")
    Dim command As New SqlCommand("SELECT * FROM ChildrenApplication WHERE ChildrenID = @a", connection)
    command.Parameters.Add("@a", SqlDbType.VarChar).Value = childrenID
    Dim adapter As New SqlDataAdapter(command)
    Dim table As New DataTable()
    adapter.Fill(table)
    Using sw As StreamWriter = New StreamWriter(AppDomain.CurrentDomain.BaseDirectory + "\MonitoringApplication.txt", True)
        For Each row As DataRow In table.Rows
            sw.WriteLine(row.Field(Of Integer)(0))
        Next row
    End Using
    Using sw As StreamWriter = New StreamWriter(AppDomain.CurrentDomain.BaseDirectory + "\MonitoringApplication.txt", True)
        sw.WriteLine(childrenID)
    End Using
Catch ex As Exception
    Using sw As StreamWriter = New StreamWriter(AppDomain.CurrentDomain.BaseDirectory + "\MonitoringApplication.txt", True)
        sw.WriteLine(ex)
    End Using
End Try

Here's the full exception:

 System.Data.SqlClient.SqlException (0x80131904): Cannot open database "MonitorDB" requested by the login. The login failed.  
Login failed for user 'WORKGROUP\DESKTOP-FTJ3EOA$'.

 at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection)  
 at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection)  
 at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection)  
 at System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)  
 at System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)  
 at System.Data.SqlClient.SqlConnection.TryOpenInner(TaskCompletionSource`1 retry)
   at System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry)
   at System.Data.SqlClient.SqlConnection.Open()
   at System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
   at System.Data.Common.DbDataAdapter.Fill(DataTable[] dataTables, Int32 startRecord, Int32 maxRecords, IDbCommand command, CommandBehavior behavior)
   at System.Data.Common.DbDataAdapter.Fill(DataTable dataTable)
   at ChildrenTrackingService.Service1.Checking(Object sender, ElapsedEventArgs e) in C:\Users\YS\source\repos\ChildrenTrackingTools\MonitoringApplication\ChildrenTrackingService\Service1.vb:line 41
ClientConnectionId:942a56cf-852a-46b8-914e-87d0b95e237d
Error Number:4060,State:1,Class:11

Security Properties in SSMS17

sql-server
vb.net
windows-services
asked on Stack Overflow Apr 28, 2019 by yongsin • edited Apr 28, 2019 by yongsin

0 Answers

Nobody has answered this question yet.


User contributions licensed under CC BY-SA 3.0