惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Jina AI
Jina AI
Forbes - Security
Forbes - Security
雷峰网
雷峰网
人人都是产品经理
人人都是产品经理
博客园 - 叶小钗
V
Visual Studio Blog
月光博客
月光博客
博客园 - Franky
有赞技术团队
有赞技术团队
宝玉的分享
宝玉的分享
博客园 - 三生石上(FineUI控件)
酷 壳 – CoolShell
酷 壳 – CoolShell
Apple Machine Learning Research
Apple Machine Learning Research
The Register - Security
The Register - Security
S
SegmentFault 最新的问题
博客园 - 司徒正美
P
Proofpoint News Feed
Know Your Adversary
Know Your Adversary
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
A
Arctic Wolf
Cyberwarzone
Cyberwarzone
Simon Willison's Weblog
Simon Willison's Weblog
U
Unit 42
P
Proofpoint News Feed
Scott Helme
Scott Helme
MyScale Blog
MyScale Blog
T
Tenable Blog
Hugging Face - Blog
Hugging Face - Blog
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
小众软件
小众软件
C
CERT Recently Published Vulnerability Notes
P
Palo Alto Networks Blog
V
V2EX
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
T
Tailwind CSS Blog
V
Vulnerabilities – Threatpost
Latest news
Latest news
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
I
Intezer
Microsoft Azure Blog
Microsoft Azure Blog
爱范儿
爱范儿
博客园 - 【当耐特】
B
Blog RSS Feed
N
Netflix TechBlog - Medium
Recent Announcements
Recent Announcements
NISL@THU
NISL@THU
C
Cisco Blogs
C
CXSECURITY Database RSS Feed - CXSecurity.com
S
Schneier on Security

博客园 - 黑武士

此处已被废弃 悲惨的开发工程师人生之路(转载) 中国企业为什么不需要软件 试析J2EE与.NET时代的商业利润 J2EE还是.NET,这是一个问题 三十岁:程序员的职业发展 程序员:迫在眉睫的职业规划 新手宝典 J2EE专家起步图解(转载) 谁为企业信息化损失买单? 非专业程序员谈程序员修炼之路 搭建系统框架发现的三个Web.Config问题 在ASP.Net中应用Javascript 星球大战:一场与我无关的童话 中国软件---技术篇 软件项目的“管理之痒” 几个开源项目配置信息的存储和处理的方式 正则表达式 用C#实现的数据库抽象工厂 C#编码标准--编码习惯
Petshop项目的数据库
黑武士 · 2005-06-21 · via 博客园 - 黑武士

本文以Petshop为示例,详细介绍了如何利用Visutal Studio .Net中的数据库模版将该项目的数据库设计放到项目的解决方案中,并借助该方法将整个Petshop项目的数据库从SQL SERVER快速移植到MSDE上。

注:本文并没有就Petshop本身的技术进行任何的讨论,仅仅只是利用它的数据库做为一个普通示范。Petshop网上宠物商店范例的源码下载地址为:http://www.gotdotnet.com/team/compare。

引言:

SQL SERVER方便强大的查询,管理工具让它成为了我们开发.Net数据库应用的上上之选,甚至即使你并非开发基于SQL SERVER的应用,你也会喜欢利用它独有强大的查询分析器来帮助你完成项目。

但是使用SQL SERVER开发项目应用有一个不方便的地方,就是当需要将做了一半的项目转移到别的机器上的时候,假如你并不是很熟悉SQL SERVER你将会发现你几乎束手无策,因为SQL SERVER并不像ACCESS那样将整个数据库放在一个文件中,可以方便的放到你的项目文件夹中打包带走。你也许会说可以利用SQL SERVER企业管理器生成创建脚本,然后进行数据导出备份等等,虽然可行,但是总归是不太方便。

利用数据库模版项目,便能将你的数据库表创建脚本,数据文件以及存储过程同你的项目放在一起,这样,转移到任何地方都能很容易重新构建好调试程序所需要的数据库环境,并能在你的Visual Studio .Net集成调试环境中直接对脚本和存储过程进行修改。

下面将详细介绍如何为Petshop添加数据库模版项目,并将Petshop数据库的创建脚本,数据文件和存储过程导出到模版中同项目一起打包,然后导出到MSDE桌面数据引擎中。

创建数据库模版项目:

首先,我们需要先有一个安装好的Petshop项目(具体的安装事项和步骤请参考Petshop的说明文档),然后在Visual Studio .Net中打开它的项目文件,在"文件"菜单中选择"新建项目",在对话框中选择"其他项目"的"数据库项目",并在右侧的模版列表中选择"数据库项目",并选择"添入解决方案",名称和路径如下图所示:

点击确定后,出现数据连接对话框,选择Petshop数据库:

确定后,在解决方案中我们就可以看见为Petshop新创建的数据库模版项目,如下图所示:

生成创建脚本和存储过程:

选择左边的服务器资源管理器,右键点击Petshop的数据连接,选择"生成创建脚本",如下图所示:

在接下来的对话框中选择全部表和全部的存储过程:

保存路径选择数据库模版项目中的"Create Scripts":

如果没有什么意外情况发生的话,你的Create Scripts下已经生成了许多的SQL脚本文件。

然后在数据连接中按住Shift键一次选择所有的表,右键点击选择"导出数据":

数据同样放在"Create Scripts"下。

生成命令文件:

在项目管理器中选上数据库模版项目,然后在主菜单的"项目"中选择"生成命令文件",如下图所示:

如果需要导出数据则可以选择右下脚的"添加数据"按纽来选择那些表需要导出数据。点击确定后便可以看见在项目中生成了一个名为PetshopDB.cmd的命令文件。

到这里,我们就创建了一个完整的Petshop数据库模版项目,并能在Visual Studio .Net中方便的对脚本进行编辑修改。

接下来,我们将要把数据导入MSDE桌面数据库,然后将Petshop的数据库改为MSDE,模拟数据库移植过程。

将数据库移植到MSDE:

首先,使用SQL SERVER的查询分析器或者企业管理器在MSDE中创建一个名为petshop的数据库,在刚才生成的PetshopDB.cmd上点击右键,选择"运行":

在弹出的对话框中,填入MSDE的服务器及petshop数据库:

点击确定后,我们就可以看到数据库的创建和数据复制过程:

最后,我们打开MSDE中的petshop数据库,就能看见所有的数据表,存储过程和完整的数据。

好了,最后我们来测试一下成果,看看我们的Petshop是不是已经从SQL Server上移植到了MSDE上,我们修改一下Petshop的Web.Config文件中的数据连接字符串,如下图所示:

保存后运行程序,呵呵,我们又看见了那对熟悉的大鹦鹉,虽然这次它们是在MSDE上安的家,不过看上去还是那么可爱。

总结:

利用数据库模版项目,便能将你的数据库设计和数据从数据库独立出来,并能放在你的项目文件中,简化数据库的转移和分发过程,方便快速的移植和部署你的应用项目。