如何连接并存取 SQL Server 2012 Express LocalDB

本文将介绍如何连接并存取 SQL Server 2012 Express LocalDB。

在上一篇笔者介绍如何利用 SqlLocalDB 公用程序来管理 LocalDB 的执行个体,本文将继续介绍如何在 LocalDB 的执行个体上建立数据库,以及您的应用程序如何和 LocalDB 做整合。

LocalDB 对于开发人员最大的好处就是方便使用,您不需要管理执行个体的各种设定(例如验证模式、通讯协定、服务启动账户等),就可以用【(localdb)执行个体名称】作为服务器名称,利用 SQL Server 2012? Management Studio(含 Express) 或 SQLCMD 公用程序来连接? LocalDB 的执行个体。

若您尝试使用 SQL Server 2008 R2(含) 以前的管理工具来连接至 LocalDB 执行个体,将看到如下图的错误消息。

因此,您可以到 Microsoft Download Center 下载 2012 版的 SQL Server Management Studio Express。以繁体中文版为例,32 位文件名称为【SQLManagementStudio_x86_CHT.exe】,64 位的文件名称则为【SQLManagementStudio_x64_CHT.exe】。安装完毕后如果你是使用 SSMS 2012 Express 连接 LocalDB 那就比较没有路径的问题,假设您使用的是 SQLCMD 公用程序,记得先切换到【C:Program FilesMicrosoft SQL Server110ToolsBinn】路径,在执行连接 LocalDB 的动作,以免因为默认路径的关系使用到 SQL Server 2012 之前版本的公用程序而无法连接 LocalDB 的执行个体。

接下来为了示范方便,笔者使用 SSMS 2012 Express 来示范,介绍在 LocalDB 中建立数据库的注意事项。

当您的电脑中有安装 SSMS 2012 以前的版本时,在您第一次开启 SSMS 2012 会出现如下图的对话方块,告诉您 SSMS 2012 要将您在 SSMS 2008 的使用者设定数据导入到 2012,您可以依照您的需求来选择是否导入。

接着于【连线到服务器】窗口中输入【(localdb)执行个体名称】,本文以 (localdb)LocalDB1 为示范。

点选【对象总管 > 执行个体 > 数据库 > 新增数据库】来开启新增数据库窗口。

LocalDB 在建立数据库时,默认数据库文件路径是空白的。

若您输入完数据库名称直接按确定,会看到如下图的错误消息。

因此记得在输入完数据库名称后,指定数据库文件和事务记录档的路径,才可以顺利建立数据库。

接着输入下列的 T-SQL 叙述来建立数据表及测试数据:

   1:  IF OBJECT_ID(‘tb1‘) IS NOT NULL 
   2:      DROP TABLE tb1
   3:  GO
   4:  ?
   5:  CREATE TABLE tb1
   6:  (
   7:      c1 int primary key,
   8:      c2 varchar(10)
   9:  )
  10:  GO
  11:  ?
  12:  INSERT INTO tb1 VALUES
  13:  (1,‘user1‘),
  14:  (2,‘user2‘),
  15:  (3,‘user3‘)
  16:  ?
  17:  GO
  18:  ?
  19:  SELECT *
  20:  FROM tb1
  21:  ?
  22:  GO

执行结果如下:

最后示范如何利用 Console 应用程序来存取 LocalDB 中的数据,程序如下,

   1:  using System;
   2:  using System.Collections.Generic;
   3:  using System.Linq;
   4:  using System.Text;
   5:  using System.Data;
   6:  using System.Data.SqlClient;
   7:  ?
   8:  namespace Demo
   9:  {
  10:      class Program
  11:      {
  12:          static void Main(string[] args)
  13:          {
  14:              SqlConnectionStringBuilder scsb = new SqlConnectionStringBuilder();
  15:              scsb.DataSource = @"(localdb)LocalDB1";
  16:              scsb.InitialCatalog = "DB1";
  17:              scsb.IntegratedSecurity = true;
  18:              scsb.AttachDBFilename = @"C:MSSQLDB1.mdf";
  19:              using (SqlConnection con = new SqlConnection(scsb.ToString()))
  20:              {
  21:                  using (SqlCommand cmd = new SqlCommand("select count(*) from tb1", con))
  22:                  {
  23:                      if (con.State != ConnectionState.Open) con.Open();
  24:                      Console.WriteLine(cmd.ExecuteScalar().ToString());
  25:                  }
  26:              }
  27:              Console.ReadLine();
  28:          }
  29:      }
  30:  }

其中上述程序的第 18 列,使用 AttachDBFilename 属性来进行数据库附加的动作,这是选用的选项。

【参考数据】

  • SQL Server Management Studio Express

原文:大专栏  如何连接并存取 SQL Server 2012 Express LocalDB

原文地址:https://www.cnblogs.com/chinatrump/p/11496675.html

时间: 2024-10-10 10:57:36

如何连接并存取 SQL Server 2012 Express LocalDB的相关文章

SQL Server 2012 Express LocalDB

微软最新推出的 SQL Server 2012 Express LocalDB 是一种 SQL Server Express 的运行模式,特别适合用在开发环境使用,也内置在 Visual Studio 2012 之中. 关于 SQL Server 2012 Express LocalDB 的运作方式 在安装 LocalDB 时会复制一个 SQL Server Express 实例所需的最少文件,基本上 LocalDB 几乎等同于完整的 SQL Server Express 数据库引擎,且 Loc

SQL Server 2012 Express LocalDB 的作用

微软最新推出的 SQL Server 2012 Express LocalDB 是一种 SQL Server Express 的运行模式,特别适合用在开发环境使用,也内置在 Visual Studio 2012 之中. 关于 SQL Server 2012 Express LocalDB 的运作方式 在安装 LocalDB 时会复制一个 SQL Server Express 实例所需的最少文件,基本上 LocalDB 几乎等同于完整的 SQL Server Express 数据库引擎,且 Loc

在Vs2012 中使用SQL Server 2012 Express LocalDB打开Sqlserver2012数据库

http://www.cnblogs.com/huangtailang/p/4221164.html 背景:个人电脑中使用的是VS2012,数据库为2008R2,最近需要打开一个SqlServer2012的数据库 如果在本机安装一个2012的数据库可能比较浪费时间,本来是想在如万网等服务商那边购买一个2012的数据库来使用的,但发现目前的服务商最高提供的数据库为2008R2 既然不想安装新的数据库版本那就只能在现在的环境中想办法了,还好在VS2012中提供了一个本地的数据库引擎于是尝试通过201

VS 2017 Web项目需要安装Sql Server 2012 Express LocalDB问题

最近在做mvc5的练习 ,结果到了数据库连接这一阶段就出现了问题,开始我以为<add name="MovieDBContext" connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\Movies.mdf;Integrated Security=True" providerName="System.Data.SqlClient"/>

SQL Server 2012 Express安装教程

1.打开官方下载地址:https://www.microsoft.com/zh-CN/download/details.aspx?id=29062 2.勾选下载SQL Server 2012和SSMS(图形化管理界面)的安装包 3.下载完成,启动SSMS:SQLManagementStudio_x64_CHS.exe,操作步骤如下图所示 4. 原文地址:https://www.cnblogs.com/litstar/p/12542043.html

修改 EF的默认连接工厂为 Sql Server 而不是LocalDb

  当你用EF6创建一个新项目,不知你是否注意到默认的连接字符串使用了LocalDb而不是SQLServer.但你如果想把默认连接改用SQLSErver而不是LocalDb.这个其实很简单:只需修改下配置文件(App.config 或者web.config)      默认LocalDb 的配置 <entityFramework> <defaultConnectionFactorytype="System.Data.Entity.Infrastructure.LocalDbCo

SQL Server 2012 无人值守安装(加入新实例)

方法1,通过指定条个參数安装 setup.exe /Q /IACCEPTSQLSERVERLICENSETERMS /ACTION=install /PID=<validpid> /FEAT URES=SQL,AS,RS,IS,Tools /INSTANCENAME=MSSQLSERVER /SQLSVCACCOUNT="MyDomain\MyAccount" /SQLSVCPASSWORD="************" /SQLSYSADMINACCO

SQL Server 2012 无人值守安装(添加新实例)

方法1,通过指定条个参数安装 setup.exe /Q /IACCEPTSQLSERVERLICENSETERMS /ACTION=install /PID=<validpid> /FEAT URES=SQL,AS,RS,IS,Tools /INSTANCENAME=MSSQLSERVER /SQLSVCACCOUNT="MyDomain\MyAccount" /SQLSVCPASSWORD="************" /SQLSYSADMINACCO

windows7 Sql server 2012 尝试读取或写入受保护的内存。这通常指示其他内存已损坏的修复

项目中,使用了sql server2012数据库,服务端是2012,客户端如果是2008的话,就会报错: 索引错误. 没办法,就安装了sql server2012客户端.但是还是报错,无法连上数据库服务器. 提示错误为尝试读取或写入受保护的内存.这通常指示其他内存已损坏. (System.Data) 当再次尝试连接时,Sql server 2012 Management Studio 就崩溃了. 网上搜索了一下关键字才找到解决办法: win7 sqlserver2012内存读取,win7 sql