无法连接到SQL数据库

本文关键字:SQL 数据库 连接 | 更新日期: 2023-09-27 18:25:09

我正在尝试连接到Microsoft Access数据库,但我无法使用c#进行连接,但无法使用sql连接创建登录表单,这也是一个本地连接

private void button1_Click(object sender, EventArgs e)
{
    SqlConnection conn = new SqlConnection("Data Source ='(local)';Initial Catalog ='UserAccounts.accdb';Integrated Security=true");
    SqlDataReader rdr = null;
    try
    {
        conn.Open();
        MessageBox.Show("Working");
    }
    catch (Exception)
    {
        MessageBox.Show("Error with the databse connection");
    }
    finally
    {
        Console.ReadLine();
        if (rdr != null)
        {
            rdr.Close();
        }
        if (conn != null)
        {
            conn.Close();
        }
    }
}

无法连接到SQL数据库

这听起来可能很简单,但您说过要连接到MS Access,但使用的是专门针对SQL Server的SqlConnection,所以它当然永远不会工作。

对于MS Access,您可以将OleDbConnection与适当的连接字符串一起使用,例如:

private void button1_Click(object sender, EventArgs e)
{
    string connectionString="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=UserAccounts.accdb; Persist Security Info=False;";
    using(OleDbConnection conn = new OleDbConnection(connectionString))
    {
        try
        {
            conn.Open();
            MessageBox.Show("Working");
        }
        catch (Exception e)
        {
            MessageBox.Show("Error with the database connection'n'n + e.ToString()");
        }
    }
    Console.ReadKey(true);
}

在此处检查最合适的连接字符串

我认为您的Data Source参数是错误的。通常,如果您的SQL实例在本地计算机上命名为"SQLEXPRESS",则与Data Source=localhost'SQLEXPRESS类似。查看这些链接:

使用Windows身份验证或sql身份验证访问localhost''SQLEXPRESS需要使用什么sql连接字符串?

http://www.connectionstrings.com/