我通過SQL Server創建了一個.mdf
文件,並將其放到本地文件中。我在沒有安裝SQL Server的計算機上運行我的程序。而且我以前從System.Data.SqlClient
命名空間的類(即SqlConnection
..)是否可以在沒有SQL Server的情況下訪問.mdf數據庫?
我要讓這是由SQL Server創建與.mdf
文件某種接入連接?可能嗎 ?
我通過SQL Server創建了一個.mdf
文件,並將其放到本地文件中。我在沒有安裝SQL Server的計算機上運行我的程序。而且我以前從System.Data.SqlClient
命名空間的類(即SqlConnection
..)是否可以在沒有SQL Server的情況下訪問.mdf數據庫?
我要讓這是由SQL Server創建與.mdf
文件某種接入連接?可能嗎 ?
我不認爲有可能不通過SQL Server引擎與MDF文件進行交互。如果您選擇通過Visual Studio的添加/刪除程序,您可能會安裝SQL Server Express(如果您選擇通過Visual Studio的添加/刪除程序,則該選項應該是一個選項),然後連接數據庫,然後從程序連接到該引擎。
許多在線的教程都建議您使用User Instances
功能和AttachDbFileName
。我建議你不要去那條路由,因爲它經常導致混亂 - 許多用戶通過Management Studio,一個與他們的程序不同的實例連接到數據庫的一個實例,然後不明白爲什麼不這樣做,不會看到其他人所做的更新。 User Instances
功能已棄用,我非常希望正確地將數據庫附加到實例。
在SQL Server 2012中,您可以下載新的SqlLocalDb運行時(you want either the x86 or x64 SqlLocalDB.MSI file from here),這使得此過程更容易,因爲它是無需維護的按需SQL Server引擎。但是請注意,您的數據庫將升級到新的11.0文件格式,這意味着您將無法分離/附加或備份/恢復到舊版本(2008,2008 R2等)。我加了很多troubleshooting techniques for new users starting with SqlLocalDb here。
非常感謝你的回答亞倫。它非常有用 – unbalanced 2012-04-28 19:11:55
實際上你說要安裝https://www.microsoft.com/en-us/download/details.aspx?id=23650與管理工作室和240MB是否有任何解決方案可用,我們donot安裝管理工作室,只安裝其服務或實例,而部署時只需簡單縮小尺寸 – 2016-08-08 07:33:21
您需要SQL來連接到MDF。您可以將其轉換爲SDF並加載緊湊版(免費)。 http://msdn.microsoft.com/en-us/data/ff687142
請注意,如果您的數據庫未使用Compact Edition中不支持的任何功能或語法,則轉換爲Compact將僅適用。不會表達(也是免費的)是一個更安全的建議?它不是「嵌入式」的,但它不太可能成爲問題。 – 2012-04-28 19:09:13
並且可以使用sql類?或者我必須在c#中使用oledbd類?.. – unbalanced 2012-04-28 19:11:22
使用Express時,您不需要使用sqloledb。我在精簡版中不夠精通,不知道這裏的交互有何不同,我只知道文件格式和功能集有很大不同。 – 2012-04-28 19:13:05
您可以嘗試使用OrcaMDF這是一個開源項目。
什麼是OrcaMDF?
用於MDF文件的C#解析器。允許您讀取MDF文件中的表,元數據和索引,而不將其附加到正在運行的SQL 服務器實例。
(該描述取自項目頁面)。
有提供一些方便的第三方工具,將幫助您查看mdf文件沒有SQL服務器http://www.mdfviewer.com/ – 2017-02-15 11:20:28