Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用runas/netonly连接到SQL_Sql_Vb.net - Fatal编程技术网

使用runas/netonly连接到SQL

使用runas/netonly连接到SQL,sql,vb.net,Sql,Vb.net,我正在尝试连接到vb.net表单中的SQL数据库 我通常使用.bat文件连接SQL,该文件如下所示: Runas/netonly/user:domain\username C:\Program Files x86\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\Ssms.exe 我发现了一个类似的问题 我已经搜索了vb.net的替代方案,但除此之外我找不到其他任何东西 我的代码看起来像 Imports System.Data.Sql

我正在尝试连接到vb.net表单中的SQL数据库

我通常使用.bat文件连接SQL,该文件如下所示:

Runas/netonly/user:domain\username C:\Program Files x86\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\Ssms.exe

我发现了一个类似的问题

我已经搜索了vb.net的替代方案,但除此之外我找不到其他任何东西

我的代码看起来像

Imports System.Data.SqlClient

Public Class Form1

Dim con As SqlConnection = New SqlConnection("Server= ;Database= ;User Id= ; Password= ")
Dim cmd As SqlCommand = New SqlCommand("Select top 1 from table (NOLOCK)")

Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click

    If con.State = ConnectionState.Closed Then con.Open()
    Dim sdr As SqlDataReader = cmd.ExecuteReader()
    While sdr.Read = True
        MessageBox.Show(sdr.Item("Column1") & " " & sdr.Item("Column2"))
    End While
    sdr.Close()

End Sub
End Class
当我填写详细信息时,由于用户无效,我收到一个错误

任何帮助都将不胜感激

对不起,如果我做得不对,长时间潜伏者第一次海报


感谢

批处理命令正在使用windows凭据连接到数据库服务器。要从应用程序建立受信任的连接,应用程序+数据库服务器必须位于同一个域中或与其模拟

像这样为windows身份验证创建连接

Dim con As SqlConnection= New SqlConnection("Data Source=server; Initial Catalog=DatabaseName; Integrated Security=SSPI;");
将系统中的exe放在同一个域中,即可成功运行


此外,您还可以将其用于各种连接字符串。

感谢您的回复Sandeep,我之所以使用批处理命令,是因为DB和我的PC位于不同的域上,因此我的Windows凭据与我的DB凭据不同。然而,我尝试了你的建议,我得到“登录失败”。登录名来自不受信任的域,不能与Windows身份验证一起使用。'Hi Lewis。。很抱歉延迟回复。我尝试了此操作,但没有找到任何选项将sql与不同域的windows身份验证连接起来。因为windows身份验证是受信任的,所以应用程序应该在同一域中,或者我们应该有工具将其作为。。。选项以使用域的凭据运行它。按shift键并右键单击它。。选择“以不同用户身份运行”。现在输入sql server所在域的凭据。它应该会起作用。