data source=.\SQLEXPRESS;Initial File Name=|DataDirectory|ASPNET.mdf;Integrated Security=SSPI;User Instance=true
我正在使用上面的连接字符串。它工作正常。但是当将数据源“.\SQLEXPRESS”更改为“localhos”时,它会引发错误“键'attachdbfilename'的值无效”。还有我的第二个问题,关键字“User Instace”的用途是什么。
data source=.\SQLEXPRESS;Initial File Name=|DataDirectory|ASPNET.mdf;Integrated Security=SSPI;User Instance=true
我正在使用上面的连接字符串。它工作正常。但是当将数据源“.\SQLEXPRESS”更改为“localhos”时,它会引发错误“键'attachdbfilename'的值无效”。还有我的第二个问题,关键字“User Instace”的用途是什么。
只有 SQL Server Express Edition 支持attachdbfilename
选项。因此,您的数据源必须是 Express 实例。它可以命名为任何名称,也可以是默认实例,但它必须是 Express 版本。在您的情况下,您似乎有两个实例,一个是命名SQLEXPRESS
的,一个是默认的,一个命名SQLEXPRESS
的是 Express 版本,而默认的不是。同样,重要的不是实例的名称,而是您要连接的引擎版本。
您无需了解有关用户实例的任何信息。忘记他们。
您可以使用server
而不是在data source
本地连接:
Server=(local);Initial File Name=|DataDirectory|ASPNET.mdf;Integrated Security=SSPI;User Instance=true
用户实例的使用是将完全预授权的 SQL Server 实例提供给在计算机上具有有限管理权限的用户。