同时访问SQL SERVER和SYBASE数据库

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2009-03-16 14:02:01
---- 对 于 一 个 系 统 管 理 员, 要 同 时 管 理 一 个 网 络 中 的 多 个 数 据 库 服 务 器 或 者 是 互 连 网 中 分 属 不 同 网 络 的 多 个 数 据 库 服 务 器, 首 先 要 解 决 同 时 连 通 访 问 这 些 数 据 库 服 务 器 的 问 题。 一 般 来 说, 各 种 数 据 库 必 须 使 用 自 己 相 应 的 客 户 端 工 具 进 行 连 接, 而 不 能 连 接 另 外 的 数 据 库。 微 软 公 司 的SQL SERVER6.0 数 据 库 是 从SYBASE4.2 数 据 库 发 展 而 来, 其 自 身 的 客 户 端 工 具 是 不 能 连 接SYBASE10 或SYBASE11 数 据 库 的。 另 外SYBASE11 客 户 端 所 带 工 具WISQLl32 可 以 分 段 执 行 一 个SQL 文 件 中 的 任 一 选 择 部 分, 这 样 给 管 理 数 据 库 服 务 器, 调 试 存 储 过 程、 触 发 器 带 来 了 很 大 的 方 便。 这 个 功 能 在 微 软 公 司 的SQL SERVER6.0 数 据 库 客 户 端 所 带 工 具ISQL_W 所 不 具 备 的。

---- 在 工 作 实 践 中, 笔 者 发 现 只 要 对SYBASE11 客 户 端 进 行 适 当 的 配 置, 在WISQLl32 的 菜 单 中 断 开 一 个 已 连 通 的 数 据 库 服 务 器 后, 连 接 网 络 中 另 一 个 的 数 据 库 服 务 器, 不 用 重 新 启 动, 就 可 以 达 到 既 访 问 微 软 的SQL SERVER6.0 数 据 库 也 能 同 时 访 问SYBASE11( 或 者10) 数 据 库 的 目 的。 既 给 同 时 管 理 多 个 数 据 库 服 务 器( 尤 其 是SQL SERVER6.0 数 据 库) 带 来 了 很 大 的 方 便, 也 使 得 在SQL SERVER6.0 和SYBASE11 之 间 移 植 存 储 过 程、 触 发 器 提 供 了 可 能 性。 本 文 就 笔 者 自 己 的 实 现 方 法 提 供 给 大 家 参 考。

一 . 系 统 环 境
 

---- 为 了 简 化 起 见, 假 设 只 在 一 个 网 络 环 境 中, 只 有 一 台 网 络 服 务 器, 在 这 台 网 络 服 务 器 上 同 时 安 装 了MS SQL SERVER6.0、SYBASE11( 或 者SYBASE10, 建 议 不 要 同 时 安 装SYBASE11 和10 两 个 版 本)。 不 考 虑 单 一 网 络 多 台 服 务 器 或 互 联 网 络 多 台 网 络 服 务 器 环 境。 但 是 无 论 什 么 环 境, 应 用 同 样 的 方 法 都 可 以 实 现WISQLl32 对 分 布 在 一 台 或 多 台 网 络 服 务 器 上 数 据 库 服 务 器 的 访 问。

---- 1. 网 络 服 务 器:WINDOWS NT 3.51 或4.0 网 络 操 作 系 统, 内 存64MB 以 上, 奔 腾133 以 上, 网 络 协 议 为TCP/IP, 主 域 控 制 器 名RMYH, 网 络 服 务 器 的 计 算 机 名DBSERVER。

---- 2. 在DBSERVER 网 络 服 务 器 上 同 时 安 装 的MS SQL SERVER6.0 数 据 库 服 务 器 名 为DBSERVER( 与 网 络 服 务 器 同 名),SYBASE 11 数 据 库 服 务 器 包 含SYBASE11(SQL 服 务 器)、SYBASE11-BS(BACKUP 服 务 器)、SYBASE11-MS(MONITOR 服 务 器)、SYBASE11-HS(HISTORY 服 务 器) 四 个 数 据 库 服 务 器(SYBASE 10 数 据 库 服 务 器 只 包 含SYABSE10,SYBASE10-BS、SYBASE10-MS 三 个 数 据 库 服 务 器)。

---- 3. 客 户 机: 中 文WINDOWS95,SYABSE FOR WINDOWS95 客 户 端 工 具

二 . 配 置SYABSE FOR WINDOWS95 客 户 端 工 具
 

---- SQLEDIT 是SYBASE 与 平 台 无 关 的 程 序, 用 来 配 置 客 户 连 接,SQLEDIT 用 于 编 辑SYBASE 根 目 录 下INI 子 目 录 中 名 为SQL.INI 的 文 件, 也 可 以 人 工 地 编 辑SQL.INI 文 件, 但 是 借 助SQLEDIT 的 图 形 工 具 要 容 易 一 些, 并 且 可 以 把 错 误 推 给SYBASE。SQLEDIT 的 使 用 方 法 请 参 考 有 关SYBASE 的 说 明 书。 本 文 主 要 讨 论 在SQL.INI 如 何 选 择 参 数 来 使WISQL 同 时 访 问MS SQL SERVER 和SYBASE11 数 据 库 服 务 器。

---- WINDOWS NT 可 以 选 择NetBEUI、IPX/SPX、TCP/IP 三 种 网 络 协 议 来 组 建 网 络,SYBASE11( 或 者SYBASE10) 数 据 库 服 务 器 安 装 时, 会 根 据 网 络 协 议 来 生 成NET-LIBRARY 驱 动 程 序, 三 种 网 络 协 议 都 能 生 成 名 为NLMSNMP( 命 名 管 道) 的NET-LIBRARY 驱 动 程 序, 其 中 对 于TCP/IP 网 络 协 议, 还 多 生 成 一 个 名 为NLWNSCK( 软 插 口) 的NET-LIBRARY 驱 动 程 序, 所 以 笔 者 选 择 使 用TCP/IP 构 成 的WINDOWS NT 网 络 作 为 分 析 的 环 境。

---- 使 用SQLEDIT 或 编 辑 软 件 配 置 好 的SQL.INI 文 件 内 容 如 下(SQL.INI 文 件 在c:sybaseini 目 录 中):

[MSSQL6.0]
$BASE$00=NLMSNMP,\ dbserver pipesql query
$BASE$01=NLWNSCK,dbserver,1433
query=$BASE$00;$BASE$01;
$BASE$02=NLMSNMP,\dbserverpipesqlquery
$BASE$03=NLWNSCK,dbserver,1433
master=$BASE$02;$BASE$03;

[SYBASE11]
$BASE$00=NLWNSCK,dbserver,5000
$BASE$01=NLMSNMP,\dbserverpipesybasequery
master=$BASE$00;$BASE$01;
$BASE$02=NLWNSCK,dbserver,5000
$BASE$03=NLMSNMP,\dbserverpipesybasequery
query=$BASE$02;$BASE$03;

[SYBASE11_BS]
$BASE$00=NLWNSCK,dbserver,5001
$BASE$01=NLMSNMP,\dbserverpipesybase backup
query=$BASE$00;$BASE$01;
$BASE$02=NLWNSCK,dbserver,5001
$BASE$03=NLMSNMP,\dbserverpipesybaseackup
master=$BASE$02;$BASE$03;

[SYBASE11_MS]
$BASE$00=NLWNSCK,dbserver,5002
$BASE$01=NLMSNMP,\dbserverpipesybasemonitor
master=$BASE$00;$BASE$01;
$BASE$02=NLWNSCK,dbserver,5002
$BASE$03=NLMSNMP,\dbserverpipesybasemonitor
query=$BASE$02;$BASE$03;

[SYBASE11_HS]
$BASE$00=NLWNSCK,dbserver,5003
$BASE$01=NLMSNMP,\dbserverpipesybasehist
master=$BASE$00;$BASE$01;
$BASE$02=NLWNSCK,dbserver,5003
$BASE$03=NLMSNMP,\dbserverpipesybase hist
query=$BASE$02;$BASE$03;

[SYBASE10]
$BASE$00=NLMSNMP,\dbserverpipesql10query
$BASE$01=NLWNSCK,dbserver,5000
master=$BASE$00;$BASE$01
$BASE$02=NLMSNMP,\dbserverpipesql10query
$BASE$03=NLWNSCK,dbserver,5000
query=$BASE$02;$BASE$03

[SYBASE10_BS]
$BASE$00=NLMSNMP,\dbserverpipesql10ackup
$BASE$01=NLWNSCK, dbserver,5001
query=$BASE$00;$BASE$01;
$BASE$02=NLMSNMP,\dbserverpipesql10ackup
$BASE$03=NLWNSCK,dbserver,5001
master=$BASE$02;$BASE$03;

[SYBASE10_MS]
$BASE$00=NLMSNMP,\dbserverpipesql10 monitor
$BASE$01=NLWNSCK,dbserver,5002
master=$BASE$00;$BASE$01;
$BASE$02= NLMSNMP,\dbserverpipesql10monitor
$BASE$03= NLWNSCK,dbserver,5002
query=$BASE$02;$BASE$03;
---- 从 以 上sql.ini 文 件 内 容 可 以 看 出:

---- ① 使 用TCP/IP 软 插 口 的 格 式 为

---- NLWNSCK, 网 络 服 务 器 名 称 , 软 插 口 地 址

---- ② 使 用 命 名 管 道 的 格 式 为

---- NLMSNMP,\ 网 络 服 务 器 名 称pipe 数 据 库 类 型 数 据 库 服 务 器 简 称

---- 注 意: 网 络 服 务 器 名 称 是 指 网 络 服 务 器 本 身 的 计 算 机 名 称。 如 果 在 互 联 网 络 具 有 多 台 网 络 服 务 器 环 境 中, 网 络 服 务 器 名 称 应 该 包 含 域 名, 这 样 就 可 以 访 问 不 同 网 络 中 的 数 据 库 服 务 器。 在 单 一 网 络 中 可 以 省 略 域 名, 如 果 单 一 网 络 中 各 个 数 据 库 服 务 器 安 装 在 不 同 的 机 器 上, 应 注 意 将 网 络 服 务 器 名 称 改 成 相 应 的 计 算 机 名 称。

---- ③ 软 插 口 地 址、 数 据 库 类 型、 数 据 库 服 务 器 简 称 等 参 数 的 变 化 见 下 表1

---- 数 据 库 服 务 器 名 称 简 称 数 据 库 类 型 软 插 口 地 址

MSSQL6.0 SQL    Query    Sql    1433
SYBASE11 SQL    Query    Sybase    5000
SYBASE11_ BS    Backup    Sybase    5001
SYBASE11_MS    Monitor    Sybase    5002
SYBASE11_HS    Hist    Sybase    5003
SYBASE10 SQL    Query    Sql10    5000
SYBASE10 BS    Backup    Sql10    5001
SYBASE10_MS    Monitor    Sql10    5002
---- 表1.SQL.INI 文 件 中 参 数 变 化 表

三 . 连 通 测 试 及 分 析
 

---- 连 通 测 试 使 用SYBPING, 连 通 成 功 会 出 现 提 示:

---- ① 使 用 命 名 管 道:

connection to server联接通道 was sucessful
loaded netlibrary driver‘NLMSNMP Named pipes driver驱动程序名
②使用软插口:
connection to server联接通道 was sucessful
loaded netlibrary driver‘NLWNSCK.DLL driver驱动程序名
连通不成功时出现提示:
①使用命名管道:
connection to server联接通道 was failed
loaded netlibrary driver‘NLMSNMP Named pipes driver驱动程序名
②使用软插口
connection to server联接通道 was failed
loaded netlibrary driver‘NLWNSCK.DLL driver驱动程序名
---- 使 用SYPING, 选 择 相 应 的 数 据 库 服 务 器, 提 示 中 可 能 出 现 的 参 数 见 表2:

数据库服务器名称         联接通道驱动程序
MSSQL6.0 SQL    pipesqlquery    NLMSNMP.DLL
    Dbserver,1433    NLWNSCK.DLL
SYBASE11 SQL    pipesybase query    NLMSNMP.DLL
    Dbserver,5000    NLWNSCK.DLL
SYBASE11_ BS    pipesybase backup    NLMSNMP.DLL
    Dbserver,5001    NLWNSCK.DLL
SYBASE11_MS    pipesybase monitor    NLMSNMP.DLL
    Dbserver,5002    NLWNSCK.DLL
SYBASE11_HS    pipesybase hist    NLMSNMP.DLL
    Dbserver,5003    NLWNSCK.DLL
SYBASE10 SQL    pipesql10query    NLMSNMP.DLL
    Dbserver,5000    NLWNSCK.DLL
SYBASE10 BS    pipesql10 backup    NLMSNMP.DLL
    Dbserver,5001    NLWNSCK.DLL
SYBASE10_MS    pipesql10 monitor    NLMSNMP.DLL
    Dbserver,5002    NLWNSCK.DLL
---- 表2. 提 示 中 可 能 出 现 的 联 接 通 道 和 驱 动 程 序 一 览 表

---- 注 意: 驱 动 程 序 名 应 该 是 包 含 有 路 径 的 全 名。 表 格2 中 省 略 了 路 径“c:sybasedll”。

Tags:

作者:佚名
分享到: 微信 更多