程序适用于本地计算机,但不适用于其他计算机[SQL Server localdb]

时间:2014-11-18 22:13:16

标签: c# sql sql-server-2012-express sql-server-2012-localdb

我已经在c#中创建了一个本地离线程序,按照教程和学习的方式进行。我学会了创建SQL Server数据库并通过MSDN上的模型第一篇教程连接到它们。我的应用程序目前正在运行,但只能在我的计算机上运行。

当我尝试在没有安装Visual Studio的另一台笔记本电脑上测试时,我注意到了这一点。出现的错误读取

  

底层提供程序在Open

上失败

我不确定为什么会发生这种情况,在研究了这个主题并阅读了几篇文章后,他们都没有修复它。

如果有帮助

,则从ADO.net模型生成SQL文件

Visual Studio自动生成的连接字符串如下(为便于阅读而格式化):

data source              = (localdb)\v11.0;
initial catalog          = RandomInputMachine.logIn;
integrated security      = True;
MultipleActiveResultSets = True;
App                      = EntityFramework

SQL Server版本是2012

发生错误的特定代码:

// Display all users from the database 
var query = from b in db.Users1
            select b;

Console.WriteLine("All users in the database:");
foreach (var item in query)
{
    if (!deleteAll)
    {
        Console.WriteLine("---------------------------------------------------");
        if (item.username != "agentender" || Program.user == "OVERIDE")
        {
            Console.WriteLine(item.username);
        }
        if (item.username == txtUser.Text)
        {
            if (item.password == GetHashedString(txtPass.Text, item.salt))
            {
                Program.user = item.username;
                Program.loggedIn = true;
            }
        }
    } else {
        db.Users1.Remove(item);
    }
}

我怎样才能找出问题所在?

1 个答案:

答案 0 :(得分:1)

问题是以下一项或多项:

  1. 您的测试笔记本电脑上未安装SQL Server。
  2. 在当前权限设置中找不到或无法使用数据库文件。
  3. 您对测试笔记本电脑的SQL Server安装没有权限。
  4. 测试笔记本电脑的SQL Server没有您在连接字符串中指定的名为RandomInputMachine的数据库。
  5. SQL Server Express可以免费安装。它可以在Microsoft SQL Server Express Edition home page

    找到