仅能使用集成安全性连接到SQLServer数据库

时间:2019-06-25 12:14:58

标签: c# sql sql-server

我正在尝试使用Process帐户连接到数据库,但是我只能使用IntegratedSecurity进行连接。如果我尝试手动设置它,则由于无法用用户登录,应用程序将引发错误。

我试图在不同的语言上运行此代码,但是发生相同的问题。

class Program {
    static void Main(string[] args) {
        try {
            Console.WriteLine("Connect to SQL Server and demo Create, Read, Update and Delete operations.");
            // Build connection string
            SqlConnectionStringBuilder builder = new SqlConnectionStringBuilder();
            builder.DataSource = "datasource";
            builder.InitialCatalog = "warehouse";
            builder.UserID = "user";
            builder.Password = "pass#$word";
            //builder.IntegratedSecurity = true;
            // Connect to SQL
            Console.WriteLine("Connecting to SQL Server ... ");
            Console.WriteLine(builder);
            using (SqlConnection connection = new SqlConnection(builder.ConnectionString)) {
                connection.Open();
                Console.WriteLine("Done.");
            }
        }
        catch (SqlException e) {
            Console.WriteLine(e.ToString());
        }
        Console.WriteLine("All done. Press any key to finish...");
        Console.ReadKey(true);
    }
}

我希望能够在不需要IntegratedSecurity的情况下连接到数据库。

此外,这是到远程服务器,而不是本地主机。我可以使用Windows身份验证在SSMS中进行连接,但是如果我尝试将其设置为通过硬编码的凭据,则会引发错误消息。

错误(来自评论)

  

Microsoft.Data.SqlClient.SqlException(0x80131904):登录失败   用户“用户”。在   Microsoft.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity   身份,SqlConnectionString connectionOptions,SqlCredential   凭证,对象providerInfo,字符串newPassword,SecureString   newSecurePassword,布尔型redirectedUserInstance,SqlConnectionString   userConnectionOptions,SessionData reconnectSessionData,布尔   applyTransientFaultHandling,字符串accessToken)

1 个答案:

答案 0 :(得分:-1)

只要做

builder.IntegratedSecurity = false;

它将起作用。