SQL 查询测试用于监控连接到任何支持 JDBC 且可执行 SQL 查询的数据库所需的时间。 它支持对 Oracle、Microsoft SQL Server 和其他数据库的查询。
在开始创建 SQL 查询测试之前,请验证相应的 JDBC 驱动程序可用。 如有必要,请安装特定于您尝试测试的数据库的 JDBC 驱动程序文件。
将 JAR 文件复制到 SystemEDGE 安装目录下的 jre/lib/ext 目录中(例如,/opt/SystemEDGE/jre/lib/ext [UNIX] 或 驱动器:\sysedge\jre\lib\ext [Windows])。 要获取针对您的数据库的 JDBC 驱动程序 jar 文件,请访问分发该数据库的公司的企业网站。
验证 SQL JDBC 驱动程序可用性的示例
如果 SQL JDBC 不可用,请执行下列操作:
选项和参数
SQL 查询测试需要以下特定选项和参数:
注意:对于 Oracle 和 MSSQL,SRM 会使用安装有 SRM 的默认 JDBC 驱动程序来创建动态 SQL 连接字符串。 对于下载的任何其他 JDBC 驱动程序,不管数据库供应商是谁,都必须从供应商那获得驱动程序的 Java 类名和相应的 SQL 连接字符串,并且提供特定关键字(见下文)。
注意:可以使用 IPv6 地址,但是必须将其括在括号内,例如 [0aff::230:6eff:fe4b:51db]:8080。 此处的 0aff::230:6eff:fe4b:51db 表示 IPv6 地址,8080 表示端口号。
示例:
com.microsoft.sqlserver.jdbc.SQLServerDriver oracle.jdbc.OracleDriver com.mysql.jdbc.Driver
注意:SQL 连接字符串的格式取决于特定供应商提供的数据库驱动程序。 要获取 JDBC 驱动程序的适当连接字符串,请访问数据库供应商的网站或参阅 JDBC 驱动程序文档。
数据库供应商提供的连接字符串包含一系列字段,其中一些字段可替换为显式关键字,如 unameValue、pwdValue、hostnameValue 和 portValue。 在 GUI 中输入连接字符串时,请键入“unameValue”和“pwdValue”,并让代理进行代替。 特定于供应商的连接字符串应规定在连接到中放置关键字的位置。 (如果使用 Oracle 或 MSSQL 的默认 JDBC 驱动程序,则 SRM 会自动规定位置。)在 SRM 测试运行时,连接字符串中的下列 SRM 关键字将由您指定的值替代:
示例:
jdbc:oracle:thin:unameValue/pwdValue@hostnameValue:portValue:orcl (connects with orcl) jdbc:sqlserver://hostnameValue:portValue;databaseName=vasdb;user=unameValue;password=pwdValue (connects with vasdb) jdbc:sqlserver://hostnameValue:portValue;user=unameValue;password=pwdValue (connects with default database) jdbc:mysql://hostnameValue:portValue/mydb?user=unameValue&password=pwdValue (connects with mydb)
在创建或修改测试时指定这些选项和参数。
示例 1:测试 Oracle 数据库
使用该示例创建一个测试,用于登录到 Oracle 数据库并执行查询,以便每 300 秒在用户表中检索一次表名称。 测试等待最多 10 秒以接收成功响应,并计算过去 1800 秒钟(30 分钟)内的响应时间和可用性统计信息。
在策略中创建新的测试
此时将显示“新建测试”窗格。
提交认更改时,SRM 将类似于以下内容的条目添加到 svcrsp.cf 文件中:
{ index=11 type=sql desc="SQLQuery_OrcaleTest" dest="OracleTest:1521" username="OracleUser" encoded=yes password="aW1vdXJhdmlldg" args="query=select table_name from user_tables&dbtype=oracle&dbname=MYDB" interval=300 samples=1 timeout=10 window=1800 tos=0 limit=0 status=active name="Oracle Test" class="" context="" flags="1" loglevel=2 }
示例 2:测试 Microsoft SQL Server 数据库
使用该示例创建一个测试,用于登录到 Microsoft SQL 数据库并执行查询,以便每 60 秒在用户表中检索一次表名称。 测试等待最多 10 秒以接收成功响应,并计算过去 120 秒钟内的响应时间和可用性统计信息。
在策略中创建新的测试
此时将显示“新建测试”窗格。
提交认更改时,SRM 将类似于以下内容的条目添加到 svcrsp.cf 文件中:
{ index=11 type=sql desc="SQLQuery.SQLServer" dest="mySQLServer:1433" username="SQLUser" encoded=yes password="bWnvTRPJhdmll" args="query=select * from categories"&dbtype=mssql&dbname=Northwind" interval=60 samples=1 timeout=10 window=120 tos=0 limit=0 status=active name="SQL Test" class="" context="" flags="1" loglevel=1 }
有关在运行 SQL 查询测试时可能遇到的错误的信息,请参阅《SQL 查询测试错误代码》。
版权所有 © 2013 CA。
保留所有权利。
|
|