//主机名:端口/子协议假设 "dbnet" 是个用于将某个主机连接到 Internet 上的协议,则 JDBC URL 类似:
jdbc:dbnet://wombat:356/fred 2.1.4 "odbc" 子协议
子协议 odbc 是一种特殊情况。它是为用于指定 ODBC 风格的数据资源名称的 URL 而保留的,并具有下列特性:允许在子名称(数据资源名称)后面指定任意多个属性值。odbc 子协议的完整语法为: jdbc:odbc:< 数据资源名称 >[;< 属性名 >=< 属性值 >]*因此,以下都是合法的 jdbc:odbc 名称: jdbc:odbc:qeor7jdbc:odbc:wombat
jdbc:odbc:wombat;CacheSize=20;ExtensionCase=LOWER
jdbc:odbc:qeora;UID=kgh;PWD=fooey2.1.5 注册子协议驱动程序编程员可保留某个名称以将之用作 JDBC URL 的子协议名。
当 DriverManager 类将此名称加到已注册的驱动程序清单中时,为之保留该名称的驱动程序应能识别该名称并与它所标识的数据库建立连接。例如,odbc 是为 JDBC- ODBC 桥而保留的。示例之二,假设有个 Miracle 公司,它可能会将 "miracle" 注册为连接到其 Miracle DBMS 上的 JDBC 驱动程序的子协议,从而使其他人都无法使用这个名称。JavaSoft 目前作为非正式代理负责注册 JDBC 子协议名称。要注册某个子协议名称,请发送电子邮件到下述地址:
jdbc@wombat.eng.sun.com2.1.6 发送 SQL 语句连接一旦建立,就可用来向它所涉及的数据库传送 SQL 语句。JDBC对可被发送的 SQL 语句类型不加任何限制。这就提供了很大的灵活性,即允许使用特定的数据库语句或甚至于非 SQL 语句。然而,它要
求用户自己负责确保所涉及的数据库可以处理所发送的 SQL 语句,否则将自食其果。例如,如果某个应用程序试图向不支持储存程序的 DBMS 发送储存程序调用,就会失败并将抛出异常。JDBC 要求驱动程序应至少能提供 ANSI SQL-2 Entry Level 功能才可算是符合 JDBC 标准TM 的。这意味着用户至少可信赖这一标准级别的功能。JDBC 提供了三个类,用于向数据库发送 SQL 语句。Connection 接口中的三个方法可用于创建这些类的实例。下面列出这些类及其创建方法:
Statement ─ 由方法 createStatement 所创建。Statement 对象用于发送简单的 SQL 语句。
PreparedStatement ─ 由方法 prepareStatement 所创建。
PreparedStatement 对象用于发送带有一个或多个输入参数( IN 参数)
的 SQL 语句。PreparedStatement 拥有一组方法,用于设置 IN 参数的值。
执行语句时,这些 IN 参数将被送到数据库中。PreparedStatement 的实
例扩展了 Statement ,因此它们都包括了 Statement 的方法。
PreparedStatement 对象有可能比 Statement 对象的效率更高,因为它已被预编译过并存放在那以供将来使用。
CallableStatement ─ 由方法 prepareCall 所创建。CallableStatement 对象
用于执行 SQL 储存程序 ─ 一组可通过名称来调用(就象函数的调用那样)的









