我正在使用linq to sql将Microsoft SQL 服务器数据库文件(SqlClient)作为数据源。 db file 是在添加连接时由Visual Studio 2010创建的(数据库资源管理器 - >添加连接)。 使用此方法我无法使用SQL身份验证创建数据库,因此我使用的是Windows身份验证。
编辑:请注意,它不是与数据库的连接,而是与数据库文件的连接。
1)是否可以使用sql身份验证创建数据库文件? (我认为这是问题的根源。)
2)在不同的acocunts下,我的计算机上的连接正常。但是,在其他计算机上运行该版本会导致抛出异常。
异常详情:
System.Data.SqlClient.SqlException(0x80131904):与网络相关或 建立连接时发生特定于实例的错误 SQL Server。服务器未找到或无法访问。校验 实例名称正确且SQL Server配置为 允许远程连接。 (提供者:SQL网络接口,错误:26 - 找到指定的服务器/实例时出错
我尝试手动设置数据库路径,但我想这不是问题。
我做错了什么?
EDIT2:我正在使用的连接字符串:
Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\OperatorResults.mdf;Integrated Security=True;Connect Timeout=10;User Instance=True"
答案 0 :(得分:0)
首先,SQL Server是如何安装的?仅限Windows身份验证或混合模式身份验证。如果只是Windows身份验证解释了您无法使用SQL Server身份验证的原因。如果启用了混合模式身份验证,则需要具有sysadmin或CREATE DATABASE权限的帐户。
至于你的第二个问题,你是否修改了连接字符串以匹配另一台机器的连接配置?如果没有,请尝试这样做。从上面的例外情况看,您的连接字符串似乎连接到错误的服务器或服务器实例未运行。
答案 1 :(得分:0)
您需要Microsoft SQL Server Express
它允许基于文件的连接。