某天早晨,我问一个程序员:“如果你接受了一个修改一个存储过程的任务,那么你会如何一步步的完成这个工作"?他的回答是:“先启动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 。
分享到:
相关推荐
Toad for SQL Server是一款强大的数据库管理工具,专为SQL Server设计,由Quest Software开发。6.8.2.9版本的Xpert Edition是该软件的一个重要版本,它提供了丰富的功能来帮助IT专业人员更高效地管理和优化SQL ...
标签中的"sql server 2000 驱动文件"明确了这些组件适用于SQL Server 2000版本,对于更新的SQL Server版本,可能需要寻找相应的驱动更新,因为旧版驱动可能不支持新版本的特性和功能。 综上所述,这个压缩包提供的...
6. 如果问题依然存在,可以查阅官方文档或在线社区(如问题描述中提到的博客链接)寻找解决方案。 总之,"Cannot load JDBC driver class 'com.microsoft.sqlserver.jdbc.SQLServerDriver'" 是一个常见的编程问题,...
1. Eclipse IDE for Java Developers 或者更高版本,它支持JDBC(Java Database Connectivity)驱动,用于与数据库通信。 2. SQL Server 2005,这是Microsoft提供的关系型数据库管理系统。 3. SQL Server JDBC 驱动...
由于MS SQL Server 2000的JDBC驱动已经非常老旧,目前微软官方已经不再支持,所以寻找和使用这些驱动可能面临兼容性和安全性的问题。对于新的项目,推荐使用更新版本的SQL Server驱动,如jTDS或Microsoft提供的JDBC...
因此,在可能的情况下,最好升级数据库以使用最新版本的驱动,或者寻找其他兼容的连接方式,如JTDS驱动,它支持多种版本的SQL Server,包括2000。 总的来说,处理这种兼容性问题需要对Java和SQL Server的版本特性有...
微软曾提供过JDBC Driver for SQL Server,称为"mssql-jdbc",但请注意,对于SQL Server 2000,需要寻找较老的版本,因为后来的版本可能不支持这个旧版数据库。 2. **添加驱动到项目**:将下载的JDBC驱动(通常是...
开发者就可以利用JDBC API编写代码,例如使用`Class.forName()`加载驱动,`Connection conn = DriverManager.getConnection()`建立连接,`Statement stmt = conn.createStatement()`创建SQL语句,以及`ResultSet rs ...
这对于初学者或正在寻找具体解决方案的开发者来说尤为实用。 #### 二、准备工作 ##### 1. 下载JDBC驱动 - **驱动下载**:首先,需要访问Microsoft官网下载SQL Server的JDBC驱动。对于SQL Server 2008,推荐下载`...
这至关重要,因为运行库是用户机器上用来执行由水晶报表创建的报表的组件,而开发组件则供开发者在IDE(集成开发环境)中使用,构建和调试报表逻辑。 在VS2015这样的环境中,经过测试,可以确认"crforvs_jb51.rar...
- **调试支持**:IDE内集成了对Hibernate SQL查询的调试功能,可以方便地查看和分析执行的SQL语句及其效果。 - **动态数据源**:在NetBeans中可以方便地管理数据库连接,创建、编辑和测试数据源,便于开发和测试。 -...
这对于开发者来说非常有用,因为他们可能正在寻找能够与他们当前IDE无缝集成的报表解决方案。 在Visual Studio 2019中使用Crystal Reports,开发者可以利用其丰富的报表设计功能,包括但不限于: 1. **数据源连接*...
- **SQL编辑器**:dbForge Studio提供了高级的SQL编辑功能,包括语法高亮、代码完成、自动格式化和错误检查,以及自定义代码片段,使SQL编写更有效率。 - **数据库设计**:用户可以使用该工具可视化地创建、修改和...
标题"ODAC for Delphi7"表明这是一个针对Delphi 7版本的ODAC组件,旨在帮助开发人员在Delphi 7的IDE中构建Oracle数据库应用。 1. **ODAC组件介绍**:ODAC是一个强大的数据访问层,它包含了多种数据访问组件,如...
不过,Devart通常会发布不同版本的ODAC以适应各种Delphi和C++Builder环境,因此,如果需要在其他版本的IDE中使用,可能需要寻找对应版本的组件。 总之,"odac 9.4.14 professional Retail for delphi 7 bpl版"是一...
在本案例中,我们讨论的是MySQLDAC的1.92版本,特别针对D5和D6 Delphi集成开发环境(IDE)进行了优化,同时经过修改后也支持了D7 IDE。然而,需要注意的是,原始的1.92版本并不兼容MySQL 4.0.15及以上版本,仅限于...
如果需要专为SQL Server 2000设计的驱动,可能需要寻找早期版本的驱动。 4. Oracle JDBC驱动:Oracle数据库的JDBC驱动通常被称为`ojdbc.jar`或`ojdbc6.jar`(针对Java 6)。这些驱动文件包含了Oracle的Thin驱动,这...
- **查询工具**:内置的SQL查询编辑器支持编写、执行和调试SQL语句,提供语法高亮和智能提示。 - **版本控制集成**:与Visual Studio的版本控制系统(如Git、SVN)无缝集成,方便对数据库对象进行版本控制。 2. *...
3. **多种数据源支持**:FastReport可以连接到多种数据库,包括但不限于SQL Server、Oracle、MySQL等,同时也可以处理XML、CSV等文件格式的数据。 4. **强大的脚本支持**:FastReport支持Delphi的Object Pascal脚本...
而slf4j(Simple Logging Facade for Java)是一个日志门面,允许用户在部署时插入任意日志实现,如log4j。 接下来,`mysql相关jar`,通常指的是`mysql-connector-java.jar`,这是MySQL的Java驱动程序,用于连接...