2017-01-09 130 views
0

我對MS Access非常有經驗,但我正嘗試轉換到VB.net和SQL Server。我正在嘗試構建一個多用戶數據庫。該mdf文件將在局域網上的某臺計算機上,並且每臺連接的計算機都有該應用程序。我需要一種方法讓最終用戶選擇mdf文件的路徑,因此只使用一個mdf文件。我有一個工作方法,但我想確保我在正確的軌道上。當一個窗體加載,我有這個:將VB.net連接到SQL Server Express mdf

My.Settings("mslConnectionString") = "Server=(localdb)\v11.0;Integrated Security=true;AttachDbFileName=E:\Documents\Visual Studio 2013\Projects\WindowsApplication3\WindowsApplication3\msl.mdf;" 

這是一個適當的方式鏈接到後端mdf文件?我想要做的是製作一個表單,最終用戶可以導航到正確的網絡路徑,然後我想我會將該路徑存儲在文本文檔中。當表單被打開時,它會首先查看文本文檔並在運行時更改路徑。提前致謝。

+2

您需要將MDF附加到「LAN上的計算機」上的SQL Server實例(Express可能適合您)以創建多用戶應用程序。 –

+0

因此,它不像運行Access後端?好的,如果託管數據的機器運行SQL Server Express,我會以某種方式在服務器上「託管」文件。如果這是正確的,我的連接字符串將如何改變?我會只使用mdf文件的完整路徑,還是其他的? – devhl

+1

您不指向該文件。您指向SQL Server的實例。就像這樣:「Server = my_server; Database = name_of_db; User Id = user_name; Password = my_password」 – Bugs

回答

0

你有什麼是「LocalDB」連接字符串。 LocalDB是一個輕量級的SQL服務器實現,可以直接連接到一個mdf文件。它通常用於一次附加一個「客戶端」。您無法像使用Access一樣直接從多個應用程序共享同一個.mdf文件。

如果你想用SQL做類似的事情,你需要安裝SQL Server。 SQL Server將附加到.mdf文件,並允許多個連接的客戶端同時使用它。

SQL Server的完整版本非常昂貴,但是有一個免費的「Lite」版本,有一些限制,稱爲SqlExpress。

也可以像建立一個完整的sql服務器一樣託管數據庫文件來設置LocalDB,但這需要更多的工作和複雜性。如果您想了解更多關於此的信息,請查看MSDN,特別是關於「命名實例」的部分。

+0

好的,我明白了。有沒有簡單的方法簡化SQL Server Express的安裝並承載mdf文件?還是需要一個合格的管理員來完成?我只是在考慮如何在大多數人不是那些技術高超的人時才能實現這一目標。 – devhl

+0

您將其安裝在一臺與服務器類似的計算機上。然後其他計算機使用不同的連接字符串連接到* that *計算機。一旦我回家,我可以給你更多的信息。 –

+1

每個客戶端機器的連接字符串看起來像'Server = myServerAddress; Database = myDataBase; User Id = myUsername; Password = myPassword;'。 'Server'是充當服務器的計算機的主機名的IP地址。 'Database'是在SQL Server中註冊的數據庫名稱。用戶名和密碼是在SQL Server中設置的用戶帳戶。 –

相關問題