2011-12-13 38 views
1

我正在開發wpf中的桌面客戶端應用程序,我想將我目前在Access中使用的數據庫放到我們的SQL Server實例中。我認爲使用Windows身份驗證不是一個好主意,因爲每個用戶都應該添加到SQL Server並賦予必要的權限。因此,另一種選擇是在SQL Server中爲該特定應用程序創建一個用戶。我也讀過你可以使客戶端應用程序通過SQL Server Native Client連接到數據庫,但是我需要將它安裝在每臺PC上。 所以我想我的問題是,這樣做的正確方法是什麼?是否有關於如何從2層應用程序連接到SQL Server數據庫的最佳做法?

+1

如果您可以設置一個包含應用程序的所有用戶的Active Directory組,併爲該AD組的正確訪問權限添加到SQL Server數據庫,我會這樣做。考慮在應用程序配置中使用具有特定SQL Server用戶名和密碼的連接字符串不是處理此問題的最安全方法。讓用戶使用沒有用戶名/密碼但信任連接的連接字符串進行連接會更好,並且仍然可以控制SQL Setup中的所有內容。一旦你安裝了.NET 4,你的客戶端上就有sql客戶端連接 –

+0

這是我似乎並沒有得到我的頭。我最初是一名Java開發人員(3層應用程序:Web界面 - 服務器應用程序 - 服務器數據庫),現在我大部分時間都在VB6和Access「應用程序」上工作。有沒有簡單的方法來使.net客戶端應用程序與SQL Server交互?也許我試圖過於簡單化來製作2層應用程序? –

回答

5

如果您處於一個安全的局域網環境中,Windows身份驗證是絕對是要走的路。通過這種方式,您沒有爲每個用戶提供單獨的一組登錄憑據,而且您也不需要在應用程序本身上存儲/輸入登錄憑證。

如果您處於互聯網的情況,您應該不允許直接連接到SQL服務器。

+0

但是,每個用戶都需要被授予訪問權限嗎? –

+0

對。但是你需要更多地使用SQL Server用戶。這就像讓SQL Server做Windows的一部分工作。 –

相關問題