zoukankan      html  css  js  c++  java
  • [转]VS2013自带SQL Server 的启用方法

    本文转自: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表

    2015111519174720151115191916

    4.给新建的Users表添加内容

    右键新建的表名,点击查看数据:

    2015111519243820151115193109

    新建数据库实例

    可以看到笔者是在已有的数据库实例上新建数据库的,那么怎样创建一个新的实例呢,笔者没有在VS中找到方法,所以下面会介绍SSEL的命令行工具SqlLocalDB.exe

    这个工具默认在 C:Program FilesMicrosoft SQL Server110ToolsBinn(笔者是64为系统,如果是32位的话应该是在C:Program Files(x86)下)。SqlLocalDB.exe不能直接运行,需要使用cmd打开。

    下面是cmd命令:

    1 C:UsersMyl-Cloud>cd C:Program FilesMicrosoft SQL Server110ToolsBinn
    2  
    3 C:Program FilesMicrosoft SQL Server110ToolsBinn>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 FilesMicrosoft SQL Server110ToolsBinn>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 }

    这里笔者提供一套ADO.Net 4的视频资料,感觉挺好的,分享给大家,也为了以后自己不用到处找资料吧 链接:http://pan.baidu.com/s/1jGvYQXo 密码:8jbd 完整版的资料可以到这里下载ADO.NET 4.0从入门到精通视频课程

  • 相关阅读:
    unity-TextAsset
    unity-热更-InjectFix
    进程和线程的区别
    StringBuffer 和 StringBuilder 的区别
    List、Set、Map 三者区别
    竞态条件是什么?
    多线程安全(synchronized、三大特性、生命周期以及优缺点)
    集合的同步与非同步
    List、Set、Map的了解及区别
    java面试题
  • 原文地址:https://www.cnblogs.com/z5337/p/5918630.html
Copyright © 2011-2022 走看看