2015-09-09 3 views
0

Я пытаюсь подключить VB.net к SQL-серверу для получения некоторой информации, у меня есть сценарий подключения от Microsoft Technet, но он дает логин для пользователя: domain \ user. Хотя учетная запись имела разрешение dbowner и также является учетной записью службы. С той же машины я успешно создал соединение между powershell и базой данных Sql.Создание SQL-соединения с помощью VB.net

Imports System.Data.SqlClient 

Public Class Form1 
    Inherits System.Windows.Forms.Form 
    'Create ADO.NET objects. 
    Private myConn As SqlConnection 
    Private myCmd As SqlCommand 
    Private myReader As SqlDataReader 
    Private results As String 

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load 

     'Create a Connection object. 
     myConn = New SqlConnection("Initial Catalog=VMdbInventory;" & _ 
       "Data Source=MONITORING\SQLEXPRESS;Integrated Security=SSPI;") 

     'Create a Command object. 
     myCmd = myConn.CreateCommand 
     myCmd.CommandText = "SELECT * from vmonhost" 

     'Open the connection. 
     myConn.Open() 

     myReader = myCmd.ExecuteReader() 

     'Concatenate the query result into a string. 
     Do While myReader.Read() 
      results = results & myReader.GetString(0) & vbTab & _ 
        myReader.GetString(1) & vbLf 
     Loop 
     'Display results. 
     MsgBox(results) 



     'Close the reader and the database connection. 
     myReader.Close() 
     myConn.Close() 



    End Sub 
End Class 

Любая идея, что мне здесь не хватает?

+0

что точное сообщение об ошибке? что пользователь пытается подключиться? есть ли домен или вы имеете дело с автономными машинами? – Paolo

+1

Когда вы говорите, что «учетная запись имела разрешение dbowner», вы имеете в виду, что правильно? Поскольку этот «Integrated Security = SSPI» находится в строке соединения, это означает, что он будет подключаться как пользователь, запускающий приложение. – UnhandledExcepSean

+0

Необработанное исключение типа «System.Data.SqlClient.SqlException» произошло в System.Data.dll Дополнительная информация: Не удается открыть базу данных «VMdbInventory», запрошенную логином. Ошибка входа в систему. Ошибка входа пользователя «Domain \ user». –

ответ

0

Мне, наконец, удалось решить проблему, на сервере sql я получал ошибку, так как была включена только проверка подлинности Windows, она была изменена в смешанном режиме, а также была ошибкой. Затем, наконец, изменил строку подключения в коде Integrated Security=SSPI; User ID=myDomain\myUsername;Password=myPassword

Its работает как шарм сейчас ..

Смежные вопросы