0

我使用 Visual Basic 2010 制作了一个程序,其中包含一个数据库。当我将程序复制到另一台计算机并尝试调试它时,我收到以下错误消息:

System.Data.dll 中出现“System.Data.SqlClient.SqlException”类型的未处理异常

附加信息:用户“Aaron\Aaron”登录失败。

以下代码行在表单加载子中突出显示:

 Me.Table1TableAdapter.Fill(Me.Database1DataSet1.Table1)

当我发布该程序时,它也无法在我创建它的计算机以外的任何计算机上运行。

任何帮助将不胜感激,因为我对编程还是很陌生,谢谢。

4

3 回答 3

1

有很多事情可能是问题所在,但对于初学者来说,您在另一台计算机上设置的用户可能与您在第一台计算机上设置的用户不同。这可能就是您收到有关 Aaron/Aaron 登录失败的错误的原因。

此外,您很可能在第一台计算机上有一个不在第二台计算机上的数据库。传输程序不会随其复制数据库。因此,您应该在第一台计算机上进入 SQL Server,并将其与第二台计算机上的 SQL Server 进行比较。用户和数据库的差异可能会导致问题。

于 2013-08-20T19:30:44.863 回答
1

如果您尝试通过网络访问数据库,请使用:server="HostMachineIP\Aaron"(例如“10.1.1.1\Aaron”)并确保防火墙端口 1433 已打开。

如果要将数据库转移到另一个系统,请将连接字符串设置为:“.\Aaron” - .\ 引用本地系统。

于 2013-08-20T19:29:40.400 回答
1

根据您的描述,听起来您可能还没有使用“服务器”。如果您正在移动/复制 .mdf 文件,您将不会有太多的运气。您的开发环境将允许这样做,但不允许其他机器。如果您在其中一台机器上安装 SQL Express 并使用它来托管您的 .mdf(数据库文件),它会更好地工作。那台机器将成为您的“服务器”。

  1. 下载 SQL Server Express 并安装它
  2. 下载 SQL Server 管理工作室。使用它来附加您的 .mdf。设置权限。允许远程连接。
  3. 检查您的 Windows 防火墙(在服务器上)以确保端口 1433 已打开(SQL 服务器在端口 1433 上通过网络进行通信。
  4. 每台机器(服务器除外)都需要对服务器进行身份验证。当我将驱动器映射到服务器时,我发现这更容易。在服务器上,在硬盘上创建一个名为“temp”的文件夹,将其共享到网络。在每台机器上,探索网络,找到您的服务器,找到共享(临时),将驱动器映射到它。

一旦你完成了这些事情,那么这些其他建议就会起作用。

于 2013-08-20T20:21:44.900 回答