Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.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
C# SQL Server 2008与C的连接_C#_Sql Server_Sql Server 2008 - Fatal编程技术网

C# SQL Server 2008与C的连接

C# SQL Server 2008与C的连接,c#,sql-server,sql-server-2008,C#,Sql Server,Sql Server 2008,无论我尝试什么,当我尝试对我创建的数据库运行简单的select查询时,我总是会遇到以下错误,我已经在Management studio中运行了精确的查询,它工作正常,并且使用的登录名在sysadmin组中: {无法打开登录名请求的数据库\测试\登录名无效 失败。\r\n用户登录失败 “JackLarson.”System.SystemException {System.Data.SqlClient.SqlException} 我的连接字符串是: 数据源=。\MPIT\U测试;初始目录=测试;集成

无论我尝试什么,当我尝试对我创建的数据库运行简单的select查询时,我总是会遇到以下错误,我已经在Management studio中运行了精确的查询,它工作正常,并且使用的登录名在sysadmin组中:

{无法打开登录名请求的数据库\测试\登录名无效 失败。\r\n用户登录失败 “JackLarson.”System.SystemException {System.Data.SqlClient.SqlException}

我的连接字符串是:

数据源=。\MPIT\U测试;初始目录=测试;集成的 安全=真;连接超时=30;用户实例=True


请查看错误消息。它说它找不到名为Test的数据库,尽管您在连接字符串中指定了Test\MPITRACKER。当数据库的名称中包含undescore uu字符时,似乎存在问题

最简单的方法是从数据库名称中删除未删除的分数

如果要将数据库名称与下划线字符一起使用,请尝试用方括号将其括起来,使其看起来像这样:

Data Source=.\MPIT_TEST;Initial Catalog=[Test_MPITRACKER];Integrated Security=True;Connect Timeout=30;User Instance=True
但是,我尚未测试此解决方案,它基于以下信息:

编辑


根据评论中的对话,这不是本例中问题的原因。

您必须在连接字符串中设置服务器名称 如果您的servername是SERVERSQLCOMPUTER,则您的连接字符串将是:

Data Source=SERVERSQLCOMPUTER \MPIT_TEST;Initial Catalog=[Test_MPITRACKER];Integrated Security=True;Connect Timeout=30;User Instance=True
此外,请始终指定服务器名称,以便能够在网络企业中的每台计算机上使用您的应用程序。servername\serverinstance是一个绝对路径
.\serverinstance表示您的应用程序与Sql server位于同一台计算机上

您使用什么凭据连接到SSMS中的数据库?你的C运行在什么凭据下?你能从你的代码中发布查询吗?这个错误消息让我感到奇怪克里斯帕洛先生:我不知道如何检查凭证。从错误消息中,我认为它正在使用我的Windows登录。David W:查询是SELECT*FROM dbo.tblMPINumFor what's worth,user instances不推荐使用。您的数据库名为Test还是Test\MPITRACKER?太糊涂了。对不起,那是我的打字错误。我的老板对我们的系统被发布到网上的任何具体信息的可能性都很严格。它找不到的数据库与连接字符串中调用的数据库相同我尝试删除下划线,但仍然收到相同的错误尝试创建新的SQL用户,将其映射到Test_MPITRACKER数据库,启用SQL身份验证,并在连接字符串中使用其凭据。要验证此用户的访问权限是否正常,请确保您可以使用SQL Management Studio中的这些凭据登录。这可能会为问题所在提供一些线索。另外,请尝试从连接字符串中删除用户实例,因为正如另一条评论中所述,它似乎已被弃用。如何启用SQL身份验证?@Donnachaidh您搜索过吗?感谢@Hassan Boutougha将其更改为包含特定的服务器名称,修复了该问题