C# 特定文件夹中的SQL连接问题

C# 特定文件夹中的SQL连接问题,c#,.net,sql-server,sql-server-2008,folder-permissions,C#,.net,Sql Server,Sql Server 2008,Folder Permissions,背景: 创建的C#.NET应用程序连接到SQL db并执行各种操作 应用程序使用固定的SQL id用户和密码 应用程序使用标准连接字符串: SqlConnection连接=新的SqlConnection(连接字符串) SQL Server 2008 R2/Windows 7/C#,共享位于不同的域中 情况: 用户可以从folder1(\server1\share1\folder1)运行exe并连接到sql 用户可以运行exe,但无法从folder2(\server1\share2\fo

背景:

  • 创建的C#.NET应用程序连接到SQL db并执行各种操作
  • 应用程序使用固定的SQL id用户和密码
  • 应用程序使用标准连接字符串:
    • SqlConnection连接=新的SqlConnection(连接字符串)
  • SQL Server 2008 R2/Windows 7/C#,共享位于不同的域中
情况:

  • 用户可以从folder1(\server1\share1\folder1)运行exe并连接到sql
  • 用户可以运行exe,但无法从folder2(\server1\share2\folder2)连接到sql(收到错误26)
  • 驱动器位于同一服务器上,但我只有folder1/2级别的完全访问权限,因此无法查看更高权限
  • 我在folder2中创建了一个单独的文件夹,并授予用户对该文件夹的完全控制权,但用户仍然无法连接到SQL
  • 用户可以从两个驱动器ping和tracert(创建一个应用程序并从每个文件夹运行)到服务器(假设这不重要,因为客户端可以连接,这应该足够了,因为exe在客户端上运行?)
  • 我已尝试授予用户和windows id完全sa权限,结果与最后一次尝试相同
  • 从用户的本地计算机运行正常
  • 我能够运行良好,并从两个位置连接
总结:


可以访问并运行exe,但对于某些用户,来自文件夹2的SQL连接失败。用户可以从不同的文件夹中看到服务器和访问权限,我相信这与更高的文件夹权限有关。share2上的什么权限会导致这种行为,为什么它会先于我对新子文件夹授予的完全访问权限?

好的-所以我设法创建了一个解决方案,现在我需要理解其中的原因

似乎通过在share2上添加list、read attrib和read权限可以纠正这个问题

因此要澄清:
-用户可以从nas服务器根目录遍历到应用程序-到sql的连接工作正常
-用户无法从nas服务器根目录进行遍历,但可以映射应用所在的文件夹,并可以访问和运行应用-连接不起作用


不确定为什么这些文件夹权限会影响应用程序在客户端上执行时与sql的有效连接-但这将是我的下一个问题….

您没有sql连接字符串的原因是什么存储在
App.config | | Web.config
中您是否尝试过这样做?您是否有代码可以显示如何从代码中设置/访问连接字符串?您好-感谢您的回复,我已经创建了特定的连接/ping/tracert应用程序,用一个固定的用户名和密码来测试这个问题-初始应用程序使用app config,结果相同;按请求编码-尽管记住这可以从另一个文件夹中工作,所以不要认为连接有问题:使用(SqlConnection connection=newsqlconnection(Connstring)){try{connection.Open();ConResult=“true”;}catch(异常ex){ConResult=ex.ToString();}