2016-01-25 68 views
0

背景:SQL連接問題

  • C#.NET應用程序創建一個連接到SQL數據庫,並做各種事情
  • 應用程序使用一個固定的SQL ID用戶名和密碼
  • 應用程序使用標準連接字符串:
    • SqlConnection connection = new SqlConnection(conn_string)
  • SQL服務器2008 R2/Windows 7中/ C#,股票是在不同的領域

現狀:

  • 用戶能夠運行EXE並連接從文件夾1(\ server1的\爲share1 \文件夾1)
  • 爲sql
  • 用戶能夠運行EXE文件但無法從文件夾2(\ server1 \ share2 \ folder2)連接sql(接收到錯誤26)
  • 驅動器位於同一臺服務器上,但是我只能在文件夾1/2級別訪問,因此無法訪問查看更高的權限
  • I已經創建了文件夾2單獨的文件夾,並授予該文件夾的用戶完全控制,用戶仍然無法連接到SQL
  • 用戶能夠Ping和Tracert(創建一個應用程序,並從每個文件夾RAN)從兩個驅動器的服務器(假設這不應該的問題,就好像客戶端可以連接應該是足夠的exe文件在客戶端運行?)
  • 我試圖授予用戶和Windows ID具有相同的結果完全SA權作爲最後掙扎的企圖
  • 奔跑罰款從用戶的本地機
  • 我能夠運行良好,並從兩個位置連接

摘要:

exe可以被訪問和運行,但是來自文件夾2的SQL連接對某些用戶而言失敗。用戶可以從另一個文件夾查看服務器和訪問權限,我相信這與某種文件夾權限較高有關。 share2上的什麼權限可能會導致此行爲,爲什麼它會優先於我在新子文件夾上授予的完全訪問權限?

+0

是還有你爲什麼沒有存儲在'App.config中的SQL連接字符串(S)的理由||網頁。Config'你有沒有試過這樣做,你也有代碼,你可以顯示你如何設置/訪問代碼中的connectionStrings ..? – MethodMan

+0

嗨 - 感謝您的迴應,我創建了特定的連接/ ping/tracert應用程序來測試這個問題與固定的用戶名和密碼 - 初始應用程序使用的應用程序配置相同的結果;作爲請求的代碼 - 雖然記得從另一個文件夾這個作品,所以不要認爲連接有故障: – greeny129

+0

使用(SqlConnection的連接=新的SqlConnection(CONNSTRING)){ 嘗試 { connection.Open(); ConResult =「true」; (例外) } catch(Exception ex) ConResult = ex.ToString(); } } – greeny129

回答

1

好吧 - 所以我設法創建了一個解決方案,現在我需要了解推理。

看來,加入列表,請參閱ATTRIB &讀取權限在SHARE2矯正問題。

所以澄清:
- 用戶可以從NAS服務器的根目錄遍歷到應用程序 - 連接到SQL工作正常
- 用戶無法從NAS服務器根目錄遍歷,但是其中的應用程序坐在那裏可以訪問該文件夾可以映射&運行的應用程序 - 連接不起作用

不確定爲什麼這些文件夾的權限會影響連接SQL作爲有效的應用程序執行客戶端上 - 但是這將是我的下一個問題....