JDBC连接
JDBC(Java Database Connectivity,Java数据库连接)是一个数据库访问界面,它是Oracle的Java软件平台的一部分。JDBC连接通常比ODBC连接耗费更多的资源,但是可能提供ODBC所没有的功能。
必备组件
•必须安装JRE (Java Runtime Environment)或Java Development Kit (JDK)。它可能是Oracle JDK,或开源版本,例如Oracle OpenJDK。 XMLSpy将从以下位置确定Java虚拟机(JVM)的路径,顺序如下:a) 在应用程序选项中设置的自定义JVM路径;b) 在Windows注册表中找到的JVM路径;c) JAVA_HOME环境变量。
•请确保XMLSpy的平台(32位,64位)与JRE/JDK的平台匹配。
•必须安装来自数据库供应商的JDBC驱动程序。这些可能是作为数据库客户端安装程序的一部分而安装的JDBC驱动程序,或者是单独下载的JDBC库(.jar文件)(如果可用且受数据库支持),另请参见数据库连接示例。
•CLASSPATH环境变量必须包含您的Windows操作系统上的JDBC驱动程序(一个或多个.jar文件)的路径。在安装一些数据库客户端时,安装程序可能会自动配置此变量。另请参见配置CLASSPATH。
使用Windows凭据通过JDBC连接到SQL Server
如果使用Windows凭据(集成安全性)通过JDBC连接到SQL Server,请注意以下几点:
•必须将在JDBC驱动程序包中包含的sqljdbc_auth.dll文件复制到系统PATH环境变量的目录中。有两个这类的文件,一个用于x86平台,另一个用于x64平台。请确保您在PATH中添加与您的JDK平台对应的文件。
•JDBC连接字符串必须包含属性integratedSecurity=true。
有关更多信息,请参见Microsoft JDBC driver for SQL Server文档,位于https://docs.microsoft.com/en-us/sql/connect/jdbc/building-the-connection-url。
建立JDBC连接
1.启动数据库连接向导。
2.单击JDBC连接。
3.您可以选择在“Classpaths”文本框中输入以分号分隔的.jar文件路径列表。除了已在CLASSPATH环境变量中定义的那些库之外,此处输入的.jar库将被加载到环境中。在完成编辑“Classpaths”文本框后,在源.jar库中找到的所有JDBC驱动程序都会被自动添加到“驱动程序”列表中(参见下一步)。
4.在“驱动程序”旁边,从列表中选择一个JDBC驱动程序,或输入一个Java类名称。请注意,此列表包含通过CLASSPATH环境变量配置的所有JDBC驱动程序(参见 配置CLASSPATH),以及那些在“Classpaths”文本框中找到的驱动程序。
在CLASSPATH变量中定义的JDBC驱动程序路径,以及直接在数据库连接对话框中输入的.jar文件路径都将提供给Java Virtual Machine (JVM)。然后,JVM决定在建立连接时使用哪些驱动程序。建议您跟踪加载到JVM中的Java类,以免造成潜在的JDBC驱动程序的冲突,并避免在连接数据库时出现意外状况。 |
5.在相应的框中输入数据库的用户名和密码。
6.在“数据库URL”文本框中,按照您的数据库类型的特定格式输入JDBC的连接URL(字符串)。下表描述了常用数据库类型的JDBC的连接URL(字符串)的语法。
数据库 | JDBC的连接URL |
---|---|
Firebird | jdbc:firebirdsql://<host>[:<port>]/<database path or alias> |
IBM DB2 | jdbc:db2://hostName:port/databaseName |
IBM DB2 for i | jdbc:as400://[host] |
IBM Informix | jdbc:informix-sqli://hostName:port/databaseName:INFORMIXSERVER=myserver |
MariaDB | jdbc:mariadb://hostName:port/databaseName |
Microsoft SQL Server | jdbc:sqlserver://hostName:port;databaseName=name |
MySQL | jdbc:mysql://hostName:port/databaseName |
Oracle | jdbc:oracle:thin:@hostName:port:SID jdbc:oracle:thin:@//hostName:port/service |
Oracle XML DB | jdbc:oracle:oci:@//hostName:port:service |
PostgreSQL | jdbc:postgresql://hostName:port/databaseName |
Progress OpenEdge | jdbc:datadirect:openedge://host:port;databaseName=db_name |
Sybase | jdbc:sybase:Tds:hostName:port/databaseName |
Teradata | jdbc:teradata://databaseServerName |
提示: | 上述格式的语法变化也是可能的(例如,数据库URL可以不包括端口,也可以包括数据库的用户名和密码。)有关更多详细信息,请查看数据库供应商的文档。 |
7.单击连接。