核心连接参数
无论使用哪种连接方式,以下这些参数都是最核心和最常用的:

(图片来源网络,侵删)
| 参数名 | 描述 | 示例值 |
|---|---|---|
| UID / user | 数据库用户名 | dba |
| PWD / password | 用户密码 | sql |
| DBN / DatabaseName | 要连接的数据库名称 | myiqdb |
| ENG / ServerName | IQ 服务器的名称或网络地址(主机名/IP) | myiqserver, 168.1.100 |
| LINKS / Protocol | 通信协议,最常用的是 TCP/IP。 | TCPIP |
| PORT | IQ 服务器监听的端口号,默认值通常是 2638。 | 2638 |
使用 isql 命令行工具
isql 是 Sybase 提供的一个简单的命令行交互式工具,常用于快速测试连接和执行 SQL。
基本语法
isql -S 服务器名 -U 用户名 -P 密码 -D 数据库名 -I 端口号
参数详解
-S或--server: 指定服务器名称或地址。-U或--username: 指定用户名。-P或--password: 指定密码,为了安全,通常在命令行中不直接写明密码,而是在提示时输入。-D或--database: 指定要连接的数据库。-I或--port: 指定端口号。-J: 指定客户端字符集,如果连接时出现乱码,通常需要设置此参数,-J utf-8。-l: 设置登录超时时间(秒)。-w: 设置输出行的宽度。
实际示例
示例 1:在 Linux/Unix 命令行中连接
# 使用默认端口 2638,连接到名为 myiqserver 的服务器,数据库为 mydb isql -S myiqserver -U dba -P sql -D mydb # 使用非默认端口 1234,并指定字符集 isql -S 192.168.1.100 -U user1 -P password -D salesdb -I 1234 -J gbk
示例 2:在 Windows 命令行中连接
isql -S myiqserver -U dba -P sql -D mydb
使用 JDBC 连接
这是在 Java 应用程序(如 Spring Boot, Hibernate)中连接 Sybase IQ 的标准方式。

(图片来源网络,侵删)
JDBC URL 格式
jdbc:sybase:Tds:<服务器名>:<端口号>/<数据库名>
参数详解
jdbc:sybase:Tds:: JDBC URL 的固定前缀,表示使用 TDS (Tabular Data Stream) 协议。<服务器名>: 服务器的 IP 地址或主机名。<端口号>: 服务器监听的端口号。<数据库名>: 要连接的数据库名称。
完整的连接字符串示例
String url = "jdbc:sybase:Tds:192.168.1.100:2638/myiqdb";
// 在连接属性中指定用户名和密码
Properties props = new Properties();
props.setProperty("user", "dba");
props.setProperty("password", "sql");
// 可选的其他属性
props.setProperty("charset", "utf-8"); // 指定字符集
props.setProperty("loginTimeout", "10"); // 登录超时(秒)
Java 代码示例
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class SybaseIQJdbcExample {
public static void main(String[] args) {
String url = "jdbc:sybase:Tds:myiqserver:2638/mydb";
String user = "dba";
String password = "sql";
// 注意:需要将 Sybase IQ JDBC 驱动 (jconn4.jar) 添加到 classpath 中
// Class.forName("com.sybase.jdbc4.jdbc.SybDriver"); // 对于较新版本的驱动,通常不需要显式加载
try (Connection conn = DriverManager.getConnection(url, user, password);
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT 'Hello, Sybase IQ!' as message")) {
if (rs.next()) {
System.out.println(rs.getString("message"));
}
System.out.println("连接成功!");
} catch (Exception e) {
e.printStackTrace();
}
}
}
使用 ODBC 连接
ODBC (Open Database Connectivity) 是一种标准的数据库访问接口,常用于各种 Windows 应用程序(如 Excel, Power BI, C/C++ 程序)。
连接字符串格式
连接字符串通常以 DRIVER= 开头,然后是其他键值对,用分号 分隔。
DRIVER={Sybase IQ 16};SERVER=myiqserver;PORT=2638;DATABASE=mydb;UID=dba;PWD=sql
参数详解
DRIVER: 指定 ODBC 驱动程序的名称,安装 Sybase IQ 客户端后,ODBC 数据源管理器中会有这个名称,{Adaptive Server Enterprise}或{Sybase IQ 16}。SERVER: 服务器名称或地址。PORT: 端口号。DATABASE: 数据库名称。UID: 用户名。PWD: 密码。
如何配置 ODBC 数据源 (Windows)
- 打开 "ODBC 数据源管理器" (可以在开始菜单搜索)。
- 选择 "系统 DSN" 或 "用户 DSN" 选项卡,点击 "添加"。
- 从列表中选择 "Sybase IQ" 或 "Adaptive Server Enterprise" 驱动程序,然后点击 "完成"。
- 在弹出的配置窗口中,填写上述参数:
- Data Source Name: 给你的数据源起一个名字(如
MyIQ_ODBC)。 - Description: 可选的描述。
- Server Name: 填写服务器名或 IP。
- Port Number: 填写端口号。
- Database Name: 填写数据库名。
- User ID: 填写用户名。
- Password: 填写密码。
- Data Source Name: 给你的数据源起一个名字(如
- 点击 "OK" 保存。
配置完成后,你就可以在支持 ODBC 的应用程序中使用 MyIQ_ODBC 这个数据源名称来连接了。
重要注意事项
- 端口确认: 默认端口是 2638,但管理员可能会修改,请务必确认服务器配置中使用的正确端口。
- 字符集: 客户端和服务器端的字符集设置必须一致,否则会导致数据乱码,常见的设置包括
utf-8,gbk,iso_1等,在 JDBC 中使用charset属性,在isql中使用-J参数。 - 防火墙: 确保客户端和服务器之间的网络是通的,并且防火墙允许在指定的端口上进行通信。
- 驱动版本: 使用 JDBC 或 ODBC 时,请确保你使用的驱动版本与你的 Sybase IQ 服务器版本兼容,从 SAP 官网下载最新的客户端工具包是最好的选择。
- 加密连接: 对于生产环境,强烈建议使用加密连接(如 TLS/SSL),这通常需要额外的配置参数,例如在 JDBC URL 中添加
ENCRYPT=TLS等,具体请参考 Sybase IQ 的官方文档。
