标题：powerbuilder
产生
PowerBuilder是美国著名的数据库应用开发工具生产厂商PowerSoft（后被Sybase公司收购）推出的成功产品，其第一版于1991年6月正式投入市场。它是完全按照客户/服务器体系结构研制设计的，采用面向对象技术，图形化的应用开发环境，是数据库的前端开发工具。
主要特点
在开始学习PowerBuilder 之前，首先要弄清楚的问题是什么是PowerBuilder，它是用来干什么的，它的特点又是什么。只有知道了PowerBuilder的功能和特点所在，我们才能知道什么时候应该选用PowerBuilder作为我们的应用程序开发工具。 　
PowerBuilder主要特点如下： 
（1）可视化、多特性的开发工具。全面支持Windows或WindowsNT所提供的控制、事件和函数。 PowerScript语言提供了几百个内部函数，并且具有一个面向对象的编译器和调试器，可以随时编译新增加的代码，带有完整的在线帮助和编程实例。 
（2）功能强大的面向对象技术。支持通过对类的定义来建立可视或不可视对象模型，同时支持所有面向对象编程技术，如继承、数据封装和函数多态性等。这些特性确保了应用程序的可靠性，提高了软件的可维护性。 
（3）支持高效的复杂应用程序。对基于Windows环境的应用程序提供了完备的支持，这些环境包括Windows、WindowsNT和WinOS/2。开发人员可以使用PowerBuilder内置的Watcom C/C++来定义、编译和调试一个类。 
（4）企业数据库的连接能力。PowerBuilder的主要特色是DataWindow（数据窗口），通过DataWindow可以方便地对数据库进行各种操作，也可以处理各种报表，而无需编写SQL语句，可以直接与Sybase、SQLServer、Informix、Oracle等大型数据库连接。 　
（5）强大的查询、报表和图形功能。PowerBuilder提供的可视化查询生成器和多个表的快速选择器可以建立查询对象，并把查询结果作为各种报表的数据来源。 PowerBuilder主要适用于管理信息系统的开发，特别是客户机/服务器结构。 　
我们知道，数据库应用是当前计算机应用的一个非常重要的方面，而在目前的数据库应用技术中普遍采用的就是客户机/服务器（C/S）体系结构，在这种体系结构中，所有的数据和数据库管理系统都在服务器上，客户机通过采用标准的SQL语句等方式来访问服务器上数据库中的数据。由于这种体系结构把数据和对数据的管理都统一放在了服务器上。就保证了数据的安全性和完整性，同时也可以充分利用服务器高性能的特点。正因为客户机/服务器体系结构的这些优点，因而得到了非常广泛的应用。
版本
PowerBuilder自从1991年6月推出1.0版本以来，已经有过多次更新和版本升级，最新版本为2011年推出的12.5版本。其中有三个标志性的产品版本[1]：
（1）1991年推出的PowerBuilder 1.0
旗舰式的客户/服务器（Client/Server）应用开发工具，它引领了客户/服务器时代的到来。
是采取Point and Clicked Painters的图形界面化开发工具。
利用数据窗体（DataWindow）的方式处理数据。
对于长久以来一直使用标准SQL语言来设计关系型数据库而言，能够不需要输入SQL语句，通过Point and Clicked的方式得到所需要的数据，这是一样重大突破。
（2）1996年推出的PowerBuilder 5.0
PowerBuilder和Internet技术进行商业和数据库应用开发的重要产品，可以在Web应用中充分发挥PowerBuilder的能力。
可将DataWindow保存为HTML文件，直接在网页上发表。
可创建Plug-In和ActiveX数据窗口，并直接放置在网页上。
可编写服务器应用，处理Web服务器的请求，如CGI等。
提供PFC（PowerBuilder Framework Class Library）的框架架构，提高应用程序的开发效率。
（3）2003年推出的PowerBuilder 9.0
全面支持Internet的开发，客户应用体系向三层结构体系转移。是业界第一个4GL+平台，提供了多种全新的开发功能和集成特性。
可以生成JSP的应用，进行基于Internet的开发。
支持XML和Web Service，同时支持J2EE和.NET两大阵营。
PowerBuilder Native Interface(PBNI)允许外界访问PB。
已计划与.NET平台完整结合；提供和Java访问的EJBClient。
在相同的版本中，PowerBuilder又分为三个不同的子版本，分别为DESKTOP型，PROFESSIONAL型，和ENTERPRISE型。
DESKTOP型是为个人使用的桌面型应用程序，在这里可以利用PowerBuilder内置的数据库管理系统SYBASE SQL ANYWHERE来创建和使用本地数据库，为个人的应用服务；
PROFESSIONAL型的PowerBuilder最重要的一点就是提供了对MICROSOFT ODBC（数据库标准连接接口）的支持，在PROFESSIONAL版本中我们就可以使用PowerBuilder的继承，多态等绝大多数特性；
在ENTERPRISE版本中最重要的一点就是提供了对开发大型的数据库应用程序的全面的支持，提供了开发大型应用程序的许多辅助的工具，比如C++ CLASS BUILDER等。
应用范围
  powerbuilderPowerBuilder是著名的数据库应用开发工具生产厂商PowerSoft公司（美国著名的数据库应用工具开发厂商，现已被数据库厂商Sybase所收购，2010年5月德国商务软件巨头SAP公司收购了Sybase公司以增强SAP公司在数据库技术方面的实力[2]）推出的产品，它完全按照客户机/服务器体系结构研制设计，在客户机/服务器结构中，它使用在客户机中，作为数据库应用程序的开发工具而存在。由于PowerBuilder采用了面向对象和可视化技术，提供可视化的应用开发环境，使得我们利用PowerBuilder，可以方便快捷地开发出利用后台服务器中的数据和数据库管理系统的数据库应用程序。
在当前，网络技术迅速发展，随之发展的还有OLE，OCX，跨平台等技术，而在PowerBuilder的PowerBuilder 6.0中提供了对这些技术的全面支持。总之在数据库开发工具领域，PowerBuilder是其中非常优秀的一个，利用它我们可以开发出功能强大的数据库应用程序。
PowerBuilder提供了对目前流行的大多数关系数据库管理系统的支持，由于在PowerBuilder的应用程序中对数据库访问的部分一般采用国际化标准数据库查询语言SQL，使得用PowerBuilder开发的应用程序可以不做修改或者只做少量的修改就可以在不同的后台数据库管理系统上使用。也就是说用PowerBuilder开发的应用程序是独立于服务器上的数据库管理系统的。
和大多数的WINDOWS应用程序一样，PowerBuilder也是事件驱动工作方式。在这种工作方式中，程序的运行没有固定的流程，程序中的代码也是为各种可能发生的事件编写的，当程序开始运行之后，它就可以接受来自系统，用户或者其它应用程序触发的事件，然后执行相应的事件代码。事件驱动的工作方式与面向对象技术是紧密相关的，在PowerBuilder应用程序中，接受发生的事件的往往就是程序界面中的各种可视化对象。
PowerBuilder是一种面向对象的开发工具，各种WINDOWS应用程序中常见的窗口、菜单、控件等在PowerBuilder中都是一个个的对象。在PowerBuilder中我们还可以创建自己的用户对象。特别要指出的是PowerBuilder提供了对面向对象方法中的各种技术的全面支持，我们可以利用面向对象方法中的对象的封装性、继承性、多态性等特点使得我们开发的应用程序具有极大的可重用性和可扩展性，而这一点正是软件工程中对应用程序所提出的重要目标。
在当前，由于网络技术的发展，许多种不同的操作系统平台在INTERNET网上同时被使用，这对开发的应用程序的跨平台性提出了更高的要求，而PowerBuilder就提供了良好的跨平台性，比如在PowerBuilder中，利用WINDOWS平台开发的各种对象可以方便地应用到UNIX平台中，因为PowerBuilder支持对象的跨平台性。这样使得把应用程序从一个平台移到另一个平台变得并不复杂。
为了给用户提供各个方面的支持，PowerBuilder具有自己的编程语言POWERSCRIPT，这个语言除了提供基本的流程控制语句，还提供了几百个函数来操纵各种对象和提供诸如DDE，OLE等方面的支持。此外我们还可以定义自己的函数，处理特定的事件。学习PowerBuilder时相当一部分的时间就是用来了解和熟悉PowerBuilder提供的各种函数。
PowerBuilder一个很大的特点就是提出了数据窗口对象的概念。数据窗口对象也是PowerBuilder中的一种对象类型，与其它对象不同的是数据窗口对象是专门为了访问后台的数据库服务的，在数据窗口对象中我们定义了数据的来源和数据的显示风格，这样在应用程序中我们就可以把精力完全放在程序的运行流程控制上，而不用关心具体数据的来源，因为我们在数据窗口对象中已经定义好了数据的来源。如果需要使用数据库中不同的数据也只要对数据窗口对象进行修改就可以了。特别要指出的是PowerBuilder在数据窗口对象中提供了丰富的数据显示方式，可以满足各种不同的需要。
在PowerBuilder较新的版本中提供了基础类库PFC，它为应用程序的开发提供了许多可重用的预定义类和对象，利用基本类库PFC可以快速开发出高质量重用性好的应用程序。真正发挥面向对象编程的巨大威力。
PB11
2007年Sybase推出了其第四代高级编程语言（4GL）的快速应用开发（RAD）工具Sybase PowerBuilder 11。凭借其快速开发数据驱动应用程序的优势，PowerBuilder 11的用户可以用最简单、最便捷的方法把应用部署到.NET平台上。PowerBuilder 11PowerBuilder 11显著地简化了.NET应用的开发过程，是Sybase全面支持.NET架构计划中的一部分。此次发布的PowerBuilder 11不仅可以帮助开发者灵活地部署应用程序，包括.NET Windows Forms、 Web Forms和 .NET Smart Clients等，还可以帮助开发传统客户机/服务器应用程序和Web Services。
PowerBuilder 11继续支持J2EE?环境和Win32应用程序。通过与领先的开发平台进行集成，PowerBuilder 11可以为开发者提供一个更开放、更灵活的环境。与第三代编程语言(3GL)工具下建立的应用程序相比，PowerBuilder可以实现更简化的编码和更短的开发周期，从而为用户提供更高的生产力。新功能包括部署PowerBuilder非可视对象(NVOs)，包括.NET编译和.NET Smart Client应用 
快速使用，并在Web上部署包括Web Services 和 PowerBuilder应用在内的PowerBuilder非可视对象(NVOs) 
支持Microsoft SQL Server SNC 和 Oracle 10g RAC 
使用Web Services，并将其作为DataWindow的数据来源
12新功能
PowerBuilder 最新版本是 V12.最大的亮点是以下四大功能:
1.全面支持新的IDE
2.支持WPF
3.全新的WPF
4.全面利用.NET
特点
它支持应用系统同时访问多种数据库，其中既包括Oracle,Sybase之类的大型数据库，又包括FOXPRO之类支持ODBC接口的小型数据库，PowerBuilder是完全可视化的数据库开发工具，它提供了大量的控件，大大加快了项目的开发速度，也使开发者更容易掌握数据库的开发。
它使用的编程语言叫做PowerScript，它也是一种高级的，结构化的编程语言。PowerScript提供了一套完整的嵌入式SQL语句，开发人员可以像使用其它语句一样自由地使用SQL语言，这样就大大增强了程序操纵和访问数据库的能力。可以说PowerBuilder既适合初学者快速学习数据库的开发，又可以让有经验的开发人员开发出功能强大的数据库，是一种适用面非常广的开发工具。
PowerBuilder是一个用来进行客户/服务器开发的完全的可视化开发环境。使用PowerBuilder,你可以用一种可视的直观的方式来创建应用程序的用户界面和数据库接口。这是一个总的概念，实际上是开发人员使用PowerBuilder去开发应用程序，由于所开发的各种应用程序充分利用了图形用户接口(GUI)的优点，所以PowerBuilder被认为是一个图形工具。
在客户/服务器结构的应用中，PowerBuilder具有描述多个数据库连接与检索的能力。特别是PowerBuilder能从大多数流行的RDBMS中存取数据，且不管数据存放在什么地方；另外，各种应用程序又可以独立于RDBMS,因为PowerBuilder可以使用数据库的标准操作语言SQL(结构化查询语言）进行。
使用PowerBuilder，可以很容易地开发出功能强大的图形界面的访问服务器数据库的应用程序，PowerBuilder提供了建立符合工业标准的应用程序（例如订单登记、会计及制造系统）所需的所有工具。
PowerBuilder应用程序由窗口组成，这些窗口包含用户与之交互的控件。开发人员可以使用所有标准空间（如按钮、复选框、下拉式列表框或编辑框）以及PowerBuilder提供的特殊的使应用程序更易于开发和使用的控件。
通常人们把PowerBuilder看成是一种开发工具，实际上它比其他工具强得多，是一种强有力的开发环境。开发人员不仅能用它来开发用户容易使用的各种应用程序还可以通过PowerBuilder修改数据库，利用400多个内部定义函数，可以开发能和其他应用程序进行的各种应用程序。
PowerBuilder正在成为客户/服务器应用开发的标准。相对于其他任何客户/服务器开发环境，PowerBuilder使开发人员的工作更快、成本更低、质量更高、功能更强。
PowerBuilder为应用开发提供了全面综合性的支持，可以分别概括为如下几点：
事件驱动的应用程序
功能强大的编程语言与函数
面向对象的编程
跨平台开发
开放的数据库连结系统
开发环境
PowerBuilder开发环境由一系列集成的图形画板(Painter)组成，应用开发人员通过简单的鼠标操作即可设计、建立、交互检验和测试客户/服务器应用程序。
分布应用
PowerBuilder自9.0版本以后，可以访问WebService，同时PowerBuilder 10.5版本以后可以将nonvisual不可视对象部署为.Net webservice，这将成为powerbuilder技术下最为廉价的分布式应用解决方案。
同时对COM+，EJB，Corba，Webservice的访问接口支持，对COM+，Corba，webservice的开发支持，使Sybase PowerBuilder成为对分布式应用接口支持最全面也最为廉价的解决方案提供商。
相关工具
AppeonAppeon for PowerBuilder 可以将 PowerBuilder 应用程序转换为用于 Web 的基于浏览器的应用程序，同时保留原有应用程序的所有功能和用户界面。Appeon并非Sybase公司的产品。DataWindow .NETDataWindow .NET 是一个用于增强 .NET 应用程序开发环境性能的组件。EAServerEAServer 是 Sybase 公司企业门户、无线服务器、金融服务器等解决方案的内核产品。EAServer 提供了一组服务用于web和分布式应用的部署。PocketBuilderPocketBuilder 是一个新的快速应用开发工具，可以加速建立移动和无线企业 Pocket PC 应用。使用过PowerBuilder 的开发人员可以利用已有的经验用 PocketBuilder IDE 建立新的或扩展现存应用系统的应用。PowerDesignerPowerDesigner是一个独具特色的建模工具集，它融合了以下几种标准建模技术：使用 UML 的应用程序建模、业务流程建模和传统数据库建模。
当前的版本是15，PowerDesigner是最好的数据建模工具。SQL AnyWhereSQL Anywere 是一个标准的小型关系数据库，提供Powerbuilder作为单机系统开发之数据库使用， 支持与语法与 Sybase、MS-SQL等同之T-SQL。
数据库连接方式
PowerBuilder[3]提供了两种访问后台数据库的方式，一种是通过ODBC标准接口的方式，第二种是通过专用的接口与后台的数据库相连。 　
ODBC标准接口　
ODBC（Open Database Connectivity）的中文名字是开放式数据库连接，它是微软公司提出的数据库连接标准，使用ODBC方式连接数据库的第一步是创建数据源，比如我们可以利用WINDOWS下控制面板中的“32 BIT ODBC”选项来创建驱动某种数据库的数据源，创建好数据源之后，我们就可以在本地计算机中利用定义好的数据源存取后台数据库中的数据了。
专用接口　
可以通过专用接口同后台的数据库相连，由于专用接口是针对特定的后台数据库管理系统而设计，因此这种方式存取数据的速度要比采用ODBC方式存取数据的速度要快一些，如果我们的应用程序只是针对特定类型的后台数据库，当然是采用专用接口访问后台数据更快一些。