我有几个使用LINQ to SQL 类的C# 程序。如果我将 exe 文件放在网络驱动器上并从那里执行它们,我会收到“<strong>error 26”,但只有当我从 Win7 执行它时。
一步步
创建一个新的 C# 项目(我在 XP 机器上使用 VS 2010 Premium)。添加新的“LINQ to SQL 类”。将一些表拖放到数据上下文中(从服务器资源管理器中)。我使用的数据库都是远程服务器上的 MSSQL。
关于问题:“连接字符串包含带有明文密码的凭据,并且未使用集成安全性……”,选择 是
利用数据上下文在程序中进行一些 LINQ 查询。确保程序有效。
将exe放在(映射的)网络驱动器上
执行 exe(从 NW 位置)
连接字符串(由系统创建)如下所示(在 VS 项目中可以看到;属性 -> 设置):
数据源=SERVERNAME\INSTANCE;初始目录=INITIAL_CATALOG;持久安全信息=True;用户ID=USER_ID;密码=PASSWORD
笔记
- [在XP机器上]本地启动exe(c盘)= OK
- [在 XP 机器上] 从 NW 驱动器启动 exe = OK
- [在Win7机器上]在本地(C盘)启动exe = OK
- [在 Win7 机器上] 从 NW 驱动器启动 exe =不正常(错误 26…)
错误消息:建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。(提供者:SQL 网络接口,错误:26 - 错误定位服务器/指定的实例)