设为首页 收藏本站
查看: 1020|回复: 0

[经验分享] 寻找IDE for sql

[复制链接]

尚未签到

发表于 2016-11-10 10:21:17 | 显示全部楼层 |阅读模式
  

某天早晨,我问一个程序员:“如果你接受了一个修改一个存储过程的任务,那么你会如何一步步的完成这个工作"?他的回答是:“先启动vss,找到这个文件,然后用‘查询分析器’修改,调试,然后提交”。
 
都是些什么阿猫阿狗的啊。vss就不怎么样了,用它来定位文件是很麻烦的。通过查询分析器修改sql也很老套。并且这个工具没有代码提示,没有重构支持,也没有TDDsql开发是应用开发的不可或缺的一部分,和它起到的作用相比,来自业界对sql的支持是非常不够的。尤其是缺乏一个高效率的IDE
 
b.                sql 语言终于升舱了
幸运的是,这样的日子就要结束了。VS2010的推出让sql可以享受如同C#IDE了。微软这几年非常喜欢提一个组合词 first-class(头等舱)——如果把VS2010当成飞机的话,那么坐在头等舱的,确定是C#无疑。VS2010的推出,新增加了两个头等舱乘客——F#SQL。是的,还有SQL语言。就是说,SQL 不必在和什么查询分析器,SQL PROMPTOR,甚至notepad这些鸡零狗碎的软件打交道了。
 
c.                 具体特性
 
IDE 能够给我们带来什么?不外乎是 deploy project navigatorrefactorIntellisense TDD。采用VS2010,这些都有了。要大气!
 
现在SQL 可以如同C#那样,有工程文件了。工程文件是很多年前的概念了,它把离散的文件组合到一起。这样,典型的一个应用产品,就会有两个工程文件,应用程序工程,数据库工程(Database Project)。两者工程构成解决方案文件(solution)。即使没有采用c#dotnet语言开发,比如delphi,也可以从vs2010Database Project获益。因为Database Project和应用语言无关,仅仅和SQL语言有关。只要是开发存储过程、表、视图、函数等都可以用。好像SQL 2005 Management Studio 也有工程文件。不过有了vs2010 ,何必用这样的为开发者充门面的东西呢,SQL 2005 Management StudioDBA用的。开发者要用 vs2010。采用Database Project也不必从头开始。 创建了Database Project后,VS2010可以Import script,或者Import from Database——保护现有的开发资源嘛。
 
Intellisense 代码提示也是Ok了。什么表,存储过程和函数以及它们的参数都是可以提示的。重构虽然不多,但是可以做rename,这是最常用的重构了。比这更好的,refactor会有一个日志记录叫做refactor log,通过它可以更好的自动发布。鉴于发布是比较复杂和强大的,因为会另外说明。
 
要修改文件,首先要找到文件,利用ide的查找文件必须要快——不能在这些枝节的工作上浪费时间。查找文件到底有多重要?可以说很多人没有dpackalt+U,连程序都不想写了。dpackVisual 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的工程模板,仅仅支持20052008
直接改数据库为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 
 

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-298346-1-1.html 上篇帖子: 设置PL/SQL Developer 字符集 下篇帖子: 通过分析SQL语句的执行计划优化SQL (三)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表