某天早晨,我问一个程序员:“如果你接受了一个修改一个存储过程的任务,那么你会如何一步步的完成这个工作"?他的回答是:“先启动vss,找到这个文件,然后用‘查询分析器’修改,调试,然后提交”。
都是些什么阿猫阿狗的啊。vss就不怎么样了,用它来定位文件是很麻烦的。通过查询分析器修改sql也很老套。并且这个工具没有代码提示,没有重构支持,也没有TDD!sql开发是应用开发的不可或缺的一部分,和它起到的作用相比,来自业界对sql的支持是非常不够的。尤其是缺乏一个高效率的IDE。
b. sql 语言终于升舱了
幸运的是,这样的日子就要结束了。VS2010的推出让sql可以享受如同C#的IDE了。微软这几年非常喜欢提一个组合词 first-class(头等舱)——如果把VS2010当成飞机的话,那么坐在头等舱的,确定是C#无疑。VS2010的推出,新增加了两个头等舱乘客——F#,SQL。是的,还有SQL语言。就是说,SQL 不必在和什么查询分析器,SQL PROMPTOR,甚至notepad这些鸡零狗碎的软件打交道了。
c. 具体特性
IDE 能够给我们带来什么?不外乎是 deploy 、project navigator、refactor、Intellisense 、TDD。采用VS2010,这些都有了。要大气!
现在SQL 可以如同C#那样,有工程文件了。工程文件是很多年前的概念了,它把离散的文件组合到一起。这样,典型的一个应用产品,就会有两个工程文件,应用程序工程,数据库工程(Database Project)。两者工程构成解决方案文件(solution)。即使没有采用c#等dotnet语言开发,比如delphi,也可以从vs2010的Database Project获益。因为Database Project和应用语言无关,仅仅和SQL语言有关。只要是开发存储过程、表、视图、函数等都可以用。好像SQL 2005 Management Studio 也有工程文件。不过有了vs2010 ,何必用这样的为开发者充门面的东西呢,SQL 2005 Management Studio是DBA用的。开发者要用 vs2010。采用Database Project也不必从头开始。 创建了Database Project后,VS2010可以Import script,或者Import from Database——保护现有的开发资源嘛。
Intellisense 代码提示也是Ok了。什么表,存储过程和函数以及它们的参数都是可以提示的。重构虽然不多,但是可以做rename,这是最常用的重构了。比这更好的,refactor会有一个日志记录叫做refactor log,通过它可以更好的自动发布。鉴于发布是比较复杂和强大的,因为会另外说明。
要修改文件,首先要找到文件,利用ide的查找文件必须要快——不能在这些枝节的工作上浪费时间。查找文件到底有多重要?可以说很多人没有dpack的alt+U,连程序都不想写了。dpack是Visual studio的一个文件查找插件,alt+U是查找文件的快捷键。现在VS2010可以继续使用dpack来做文件查找。当然内置的查找也有增强。
Schema comparor/data comparor 也做的不错。可以对数据库和Database Project之间做 结构和数据对比,查看差异。
d. 我认为还有一个令人兴奋的特性——数据库的声明型升级。注意我的用词是“兴奋”。这2年来让我兴奋的软件技术不多,比如everything这个小工具软件让我兴奋,现在"声明型数据库升级"是第二个。所谓的“声明型升级”,就是说,我告诉工具,升级前数据库是什么样子,升级后的数据库是什么样子,然后中间需要做什么样的修改,由工具搞定。和声明型升级对应的是过程型升级——告诉工具,应该如何一步步的从现在的数据库变成新的数据库。我在2003年曾经考虑过这个声明型升级的做法,但是种种原因,没有做到。前面提到,因为比较复杂,专文说明。
e. 应用和代价
可以在需要数据库开发的项目中使用,不管是c/s,还是b/s,反正需要数据库开发的,都可以用。代价是现在的电脑恐怕很多需要换掉——vs2010吃内存,吃CPU周期啊。
f. 支持 Sql Server 2000 吗?
看起来:vs2010并不支持sql2000的工程模板,仅仅支持2005,2008。
直接改数据库为sql2000的,deploy会报错:说明需要一个对应版本的DatabaseSchemaProvider 。
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\TeamData\Microsoft.Data.Schema.TSqlTasks.targets(120,5): Error Deploy01234: The source database schema provider Sql100DatabaseSchemaProvider could not be translated to provider Sql80DatabaseSchemaProvider. Deployment cannot continue.
vs2008可以支持sql2000,但是仅仅作为sql的容器,而在vs2010才有了 Intellisense, build-time validation, automatic deployment 。
分享到:
相关推荐
Embest IDE for ARM 欢迎使用 Embest IDE 2002 for ARM,Embest IDE for ARM将帮助您迅速地在基于ARM核的各种微控制器芯片、微处理器芯片以及专用芯片上开发应用软件! Embest IDE 用户手册主要包括以下内容: ...
dbForge Studio for SQL Server is a powerful IDE for SQL Server management, administration, development, data reporting and analysis. The tool will help SQL developers to manage databases, speed up ...
eclipse IDE for C/C++本安装包用于开发C语言或者C++语言,直接解压可以用。
dbForgeStudioforSQLServer是一个强大的IDE,用于SQLServer管理,管理,开发,数据报告和分析。该工具将帮助SQL开发人员执行复杂的数据库更改,流行的源代码控制系统中的版本控制数据库更改,以及加速常规任务。您不...
Eclipse IDE for C/C++ Developers 该版本适合C/C++开发者,集成了良好的C/C++语言支持。
Powerful IDE for R RStudio IDE is a powerful and productive user interface for R. It’s free and open source, and works great on Windows, Mac, and Linux.
Eclipse IDE for Java EE Developers软件下载
Linux 32位版本 Eclipse IDE for Java Developers 该版本适合Java开发者,集成CVS,Git,XML编辑器,Mylyn, Maven integration和WindowBuilder等插件。
dbForge Studio for SQL Server是一个功能强大的IDE,用于SQL Server管理、管理、开发、数据报告、分析等等。 执行复杂数据库任务的SQL开发人员和DBA可以使用GUI工具来加速几乎所有数据库体验,例如设计数据库、...
ChipON IDE For KungFu32 国产编译器
dbForgeStudioforSQLServer是一个强大的IDE,用于SQLServer管理,管理,开发,数据报告和分析。该工具将帮助SQL开发人员执行复杂的数据库更改,流行的源代码控制系统中的版本控制数据库更改,以及加速常规任务。您不...
Eclipse IDE for PHP Developers - 2020-06
Eclipse IDE for C/C++ Developers 该版本适合C/C++开发者,集成了良好的C/C++语言支持。
Eclipse Java EE IDE for Web Developers 一共16个分卷,分卷7 Eclipse Java EE IDE for Web Developers 一共16个分卷,分卷7
Eclipse Java EE IDE for Web Developers 一共16个分卷,分卷4 Eclipse Java EE IDE for Web Developers 一共16个分卷,分卷4
Eclipse Java EE IDE for Web Developers 一共16个分卷,分卷12 Eclipse Java EE IDE for Web Developers 一共16个分卷,分卷12
Eclipse Java EE IDE for Web Developers 一共16个分卷,分卷1 Eclipse Java EE IDE for Web Developers 一共16个分卷,分卷1
虽然很贵,但是很全,下载多个版本.Eclipse Java EE IDE for Web Developers,所有工具仅仅用于非商业。eclipse-jee-photon-R-win32-x86_64,eclipse-jee-neon-3-win32-x86_64,eclipse-jee-luna-SR2-win32-x86_64,...
new vimide for gvim new vimide for gvimnew vimide for gvimnew vimide for gvim
我的在这里:C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\Extensions\0jpe4kch.yzv\,覆盖后就可以使用了