Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/285.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_C#_Sql Server_Console Application - Fatal编程技术网

C# 从控制台应用程序访问SQL Server

C# 从控制台应用程序访问SQL Server,c#,sql-server,console-application,C#,Sql Server,Console Application,我有一个连接到SQLServer数据库的简单控制台应用程序。 但是,它在运行时抛出以下错误。有什么线索吗 Unhandled Exception: System.Data.SqlClient.SqlException: Cannot open database "Database" requested by the login. The login failed. Login failed for user 'MYDOMAIN\MYUSERID'. at System.Data.SqlCl

我有一个连接到SQLServer数据库的简单控制台应用程序。 但是,它在运行时抛出以下错误。有什么线索吗

Unhandled Exception: System.Data.SqlClient.SqlException: Cannot open database "Database" requested by the login. The login failed.
Login failed for user 'MYDOMAIN\MYUSERID'.
   at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
   at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
   at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
   at System.Data.SqlClient.SqlInternalConnectionTds.CompleteLogin(Boolean enlistOK)
   at System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, BooleanignoreSniOpenTimeout, Int64 timerExpire, SqlConnection owningObject)
   at System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(String host, String newPassword, Boolean redirectedUserInstance, SqlConnection owningObject, SqlConnectionString connectionOptions, Int64 timerStart)
我使用SQLServer2005Express版。 但是,我能够使用数据库资源管理器从VisualWebDeveloper连接到SQLServer。 我使用的代码如下所示:

using System;
using System.Data;
using System.Data.SqlClient;

    public class Test
    {
        public Test()
        {

        }
        static void Main()
        {
            Console.WriteLine("hello");
            string connectionString = "Data Source=localhost\\SQLEXPRESS;Database=Database;Integrated Security=true";
            SqlConnection conn = new SqlConnection(connectionString);
            conn.Open();
            Console.WriteLine("done");
        }
    }

控制台应用程序可以与SQLExpress数据库愉快地交谈。我希望您只需要通过配置对域帐户的访问权限。据推测,web developer应用程序正在使用具有不同域凭据的ASPNET帐户。

如果您运行的是Vista,则这可能是因为Visual web developer在特权帐户(例如管理员)下运行。这样做是为了允许您开发和调试应用程序。管理员帐户包含在MSSQL上的admins组中。您的控制台应用程序在您的帐户下运行,该帐户没有连接MSSQL的权限。

我猜您可能在web开发人员和.net应用程序之间使用了不同的协议。 作为快速测试,您可以启动Sql Server Configuration Manager并在网络配置下启用每个协议。您还可以在该配置工具中检查/更改sql本机客户端的客户端协议。默认情况下,它们都应该启用共享内存,但仔细检查并没有什么坏处

发件人:

网络支持

仅共享内存连接类型 在本地计算机上,可以通过 SQL Server Express的默认值, 虽然用户可以显式地 在其他受支持的协议上,例如 TCP/IP和命名管道


我假设这是sql server的本地安装,而不是通过网络安装,对吗?

在app.config中验证属性“connectionstring”上的密码是否正确


我确实有和你一样的问题。我的密码是空的。我不知道为什么

这意味着您的登录没有访问该数据库的权限。

有什么解决办法吗?安装新软件有延迟(公司网络)。如何使用ASPNET帐户而不是集成安全性?是的,控制台应用程序和SQL Server在同一台计算机上运行。