1. 程式人生 > >VS2013自帶的資料庫SQL Server Express LocalDB使用介紹

VS2013自帶的資料庫SQL Server Express LocalDB使用介紹

原作者:http://www.icharm.me/vs2013%E8%87%AA%E5%B8%A6%E7%9A%84%E6%95%B0%E6%8D%AE%E5%BA%93sql-server-express-localdb%E4%BD%BF%E7%94%A8%E4%BB%8B%E7%BB%8D.html

哀差悶這幾天在做實踐周的專案,一個餐館點餐系統,需要使用到資料庫,遇到了很多的問題,百度了很久也沒什麼頭緒。主要還是關於VS自帶的資料庫操作的問題。這裡我來總結一下吧。

首先需要說明的是哀差悶在裝VS2013的時候是全選了所有元件安裝的。所以預設會自動安裝一個SQL Server Express LocalDB。

SQL Server Express LocalDB簡介

首先來說一下這個SQL Server Express LocalDB吧,大家應該都知道Express版是一個精簡版,而LocalDB呢是SQL Server Express的一種執行模式,比較適合在開發環境使用。所以被內建在VS2013中。

在下文中我們使用SSEL來代替SQL Server Express LocalDB。

在VS中使用SSEL

1.使用SSEL新建一個數據庫

檢視——開啟SQL Server物件資源管理器

20151115190052

2.展開其中一個數據庫例項——右鍵點選資料庫,選擇新增新資料庫

20151115190338

哀差悶新增一個Test資料庫作為演示,位置可以更改。

20151115190715

3.給新建的Test資料庫新增一個Users表

20151115191747 20151115191916

4.給新建的Users表新增內容

右鍵新建的表名,點選檢視資料:

20151115192438 20151115193109

新建資料庫例項

可以看到哀差悶是在已有的資料庫例項上新建資料庫的,那麼怎樣建立一個新的例項呢,哀差悶沒有在VS中找到方法,所以下面會介紹SSEL的命令列工具SqlLocalDB.exe

這個工具預設在 C:\Program Files\Microsoft SQL Server\110\Tools\Binn(哀差悶是64為系統,如果是32位的話應該是在C:\Program Files(x86)下)。SqlLocalDB.exe不能直接執行,需要使用cmd開啟。

下面是cmd命令:

1 C:\Users\Myl-Cloud>cd C:\Program Files\Microsoft SQL Server\110\Tools\Binn
2
3 C:\Program Files\Microsoft SQL Server\110\Tools\Binn>SqlLocalDB.exe

下面是SqlLocalDB.exe執行後的提示資訊。

1 Microsoft (R) SQL Server Express LocalDB 命令列工具
2 版本 11.0.2100.60
3 版權所有 (c) Microsoft Corporation。保留所有權利。
4
5 用法: SqlLocalDB 操作 [引數...]
6
7 操作:
8
9 -?
10 列印此資訊
11
12 create|c "例項名稱" [版本號] [-s]
13 使用指定的名稱和版本建立新的 LocalDB 例項
14 如果忽略 [版本號] 引數,它預設為
15 SqlLocalDB 產品版本。
16 -s 建立後啟動新的 LocalDB 例項
17
18 delete|d "例項名稱"
19 刪除具有指定名稱的 LocalDB 例項
20
21 start|s "例項名稱"
22 啟動具有指定名稱的 LocalDB 例項
23
24 stop|p "例項名稱" [-i|-k]
25 當前查詢完成後,停止具有指定
26 名稱的 LocalDB 例項
27 -i 使用 NOWAIT 選項請求關閉 LocalDB 例項
28 -k 在不與之聯絡的情況下終止 LocalDB 例項程序
29
30 share|h ["所有者 SID 或帳戶"] "專用名稱" "共享名稱"
31 使用指定的共享名稱共享指定的專用例項。
32 如果省略了使用者 SID 或帳戶名稱,它將預設為當前使用者。
33
34 unshare|u "共享名稱"
35 停止共享指定的共享 LocalDB 例項。
36
37 info|i
38 列出當前使用者所擁有的所有現有 LocalDB 例項
39 以及所有共享的 LocalDB 例項。
40
41 info|i "例項名稱"
42 列印有關指定的 LocalDB 例項的資訊。
43
44 versions|v
45 列出在計算機上安裝的所有 LocalDB 版本。
46
47 trace|t on|off
48 開啟或關閉跟蹤

可以看到操作命令必須以 SqlLocalDB 開頭。
下面演示新建資料庫例項的命令

1 SqlLocalDB create newshili
2
3 C:\Program Files\Microsoft SQL Server\110\Tools\Binn>SqlLocalDB create newshili
4 已使用版本 11.0 建立 LocalDB 例項“newshili”。

其他命令類似,這裡不多介紹了。

之前哀差悶一直不會用VS自帶的這個LocalDB資料庫,所以自己也下載了SQL Server Management Studio 2014進行安裝,但是安裝完成開啟SQL Server Management Studio後,提示連線,在伺服器名稱——瀏覽更多,並沒有在本地找到任何SQl服務。網上搜也沒明白個所以然,我估計是因為VS在本機已經裝了個LocalDB的資料庫服務的原因,具體的也不清楚,微軟的東西太龐大。出現在網上搜不到的問題也不奇怪。

20151115195347

那我這個Management Studio豈不是白裝了?其實不然,我們可以用它來管理我們的LocalDB的資料庫例項!!

上面的命令列工具裡,使用檢視例項詳細資訊的命令SqlLocalDB info ProjectsV12

20151115200204

把最下面的一行例項管道名稱; 複製貼上到SQL Server Management Studio的連線對話方塊的伺服器名稱中:

20151115200815

點選連線即可管理ProjectsV12例項了。

連線資料庫:

連線資料庫很簡單吧,使用Ado.Net就行了,之前哀差悶一直想在WinApp裡面連線SQL Server,事實證明這是不能實現的。所以不多說了,

想要連線這個LocalDB,先引入System.Data.SqlClient;名稱空間(若提示找不到,那可能是你沒有裝ADO.NET Framework),廢話不多說了,直接看程式碼,下面程式碼的實現的是將查詢到的資料打印出來的功能

1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5 using System.Threading.Tasks;
6 using System.Data.SqlClient;
7
8 namespace LocalDBConnectTest
9 {
10 class Program
11 {
12 static void Main(string[] args)
13 {
14 //資料庫連線字串,注意這個寫法(localdb)後面必須是兩個斜槓,因為這中間有個轉義的過程
15 //Initial Catalog=要連線的資料庫名
16 //Intergrated Security=true  開啟windows身份驗證
17 string ConnectString = "Server=(localdb)\\ProjectsV12;Initial Catalog=mrestaurant;Integrated Security=true";
18 SqlConnection con = null;
19 SqlCommand cmd = null;
20 SqlDataReader str = null;
21 try {
22 con = new SqlConnection(ConnectString);       //連線到資料庫
23 cmd = con.CreateCommand();
24 cmd.CommandText = "select footName from dbo.footinfo"; //T-SQL語句   
25 con.Open();                                  //建立連線後需要用Open開啟連線,結束後要關閉連線,及時釋放資源
26 str = cmd.ExecuteReader();                 
27 while(str.Read()){
28 Console.WriteLine(str[0]);
29 }
30 }
31 catch(Exception ms)
32 {
33 Console.WriteLine(ms.Message);
34 }
35 finally
36 {
37 str.Close();
38 cmd.Clone();
39 con.Close();
40 }
41
42 }
43 }
44 }

20151121225918

這裡哀差悶提供一套ADO.Net 4的視訊資料,感覺挺好的,分享給大家,也為了以後自己不用到處找資料吧 連結:http://pan.baidu.com/s/1jGvYQXo 密碼:8jbd 完整版的資料可以到這裡下載ADO.NET 4.0從入門到精通視訊課程