如果将[user instances = true]添加到连接字符串,则会引发异常

Sco*_*合理论 4 .net sql-server ado.net connection-string

例外细节:

System.Data.SqlClient.SqlException:无法打开登录请求数据库"RealtyDB"登录失败.账号'FAFHN24BNK43\JKAD754'登录失败.

我的连接字符串如下所示:

add name = "ApplicationServices"
         connectionString="data source=.\SQLEXPRESS;User Instance=True;Initial Catalog=RealtyDB;Integrated Security=SSPI;"
         providerName="System.Data.SqlClient"       
Run Code Online (Sandbox Code Playgroud)

如果我删除了[User Instance=True;],我的申请将没事.

有人知道为什么吗?

Aar*_*and 6

我只见过与之结合使用的用户实例功能AttachDbFileName.换句话说,您无法连接到已连接到正在运行的SQL Server实例的数据库,并告诉SQL Server为该数据库启动一个新实例,因为只有一个实例可以"拥有"一个数据库.时间.使用时AttachDbFileName,它会告诉SQL Server制作该MDF文件的副本以供应用程序使用.

因此,除非您打算使用此功能,否则我将再次建议您User Instance = true从连接字符串中取出参数.

(值得注意的是,这个有用的功能已被弃用.)