Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/16.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
Sql server “无法打开数据库”;“数据库名称”;由登录请求。登录失败。用户登录失败_Sql Server_Vb.net_Sql Server 2008 R2 - Fatal编程技术网

Sql server “无法打开数据库”;“数据库名称”;由登录请求。登录失败。用户登录失败

Sql server “无法打开数据库”;“数据库名称”;由登录请求。登录失败。用户登录失败,sql-server,vb.net,sql-server-2008-r2,Sql Server,Vb.net,Sql Server 2008 R2,下面是一个场景。我正在用VB.NET(Windows窗体)创建一个桌面应用程序,并使用SQL Server 2008 R2作为其数据库 我有两台计算机(PC1和PC2),我想将PC2连接到PC1 PC 1具有SQL Server数据库。我要做的是我只是复制了应用程序中的.exe 我的vb项目的调试文件夹,并为其连接创建一个记事本,将它们放在一个文件夹中,并将其传输到PC2 当我在其他电脑上运行我的应用程序时,我得到一个错误 应用程序中发生未处理的异常。如果你点击 如果继续,应用程序将忽略此错误并

下面是一个场景。我正在用VB.NET(Windows窗体)创建一个桌面应用程序,并使用SQL Server 2008 R2作为其数据库

我有两台计算机(PC1和PC2),我想将PC2连接到PC1

PC 1具有SQL Server数据库。我要做的是我只是复制了应用程序中的.exe 我的vb项目的调试文件夹,并为其连接创建一个记事本,将它们放在一个文件夹中,并将其传输到PC2

当我在其他电脑上运行我的应用程序时,我得到一个错误

应用程序中发生未处理的异常。如果你点击 如果继续,应用程序将忽略此错误并尝试 继续,如果单击退出,应用程序将立即关闭

无法打开登录请求的数据库“DatabaseName”。登录 失败。用户登录失败

我的代码在记事本里

Data Source=.;Initial Catalog=DBSAS;Integrated Security=True
到目前为止,我所做的是启用SQL Server 2008 R2的远程连接


有人能给我一个建议吗?我真的很困惑。谢谢

在连接字符串中指定
数据源=PC1
表示与应用程序在同一台计算机上运行的本地SQL Server实例。此错误表明SQL Server安装在PC2上,但不包含所需的数据库

编辑:

错误

无法打开登录请求的数据库“DatabaseName”


指示对SQL Server的身份验证已成功,但无法设置数据库上下文。如果错误消息中的
DatabaseName
与连接字符串中的
Initial Catalog
相同,则数据库不存在或用户没有使用它的权限。但是,如果错误消息中的
DatabaseName
与连接字符串不同,则您更改的连接字符串与应用程序实际使用的连接字符串不同。

您好,请使用下面的命令在PC 1上查找sql server实例名

OSQL-L

替换。连接字符串处的实例名称。 在连接字符串中指定数据源=“sql server实例名称

更多详细信息发布在下面的链接上


在第二台电脑上创建一个txt文件。类似于
test.txt
。然后将其重命名为
test.udl
universaldatalink。双击
test.udl
。从这里可以生成到SQL Server的有效连接字符串。完成后,使用记事本打开udl文件以获取连接字符串。希望这能有所帮助。

我在切换到
Data Source=PC1
时遇到了相同的错误,我只是将该连接放在了记事本中。是吗?@DietherSilverious,是的,您可以使用自己选择的文本编辑器编辑连接字符串。验证应用程序是否实际使用了该连接字符串(即,它不是硬编码的)。嗨,我收到了相同的错误<代码>数据源=PC1;初始目录=DBAS;集成安全性=真。我有个问题。我只是把连接和我的.exe应用程序放在一个记事本里。我说的对吗?两个服务器都在同一个域中。并检查正在哪个用户应用程序下执行,然后验证db服务器上的用户凭据。用户是否相同?是的,它们也是相同的。您可以尝试从应用程序计算机ping sql server计算机。数据源=。声明SQL Server位于同一台计算机上。请尝试使用SQL Server实例名称而不是。您是否能够使用SSMS或其他工具从PC2连接到PC1,以验证它是否实际可访问?我已按照您的说明进行了操作,但用户的PC1/Guest登录失败了错误
您能否帮助我解决此问题。谢谢你的建议。我将首先尝试以
sa
(系统管理员)的身份连接。没有集成安全性。