同时访问SQL SERVER和SYBASE数据库

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

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

一.系统环境

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

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

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

3.客户机:中文WINDOWS95,SYABSEFORWINDOWS95客户端工具

二.配置SYABSEFORWINDOWS95客户端工具

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

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

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

[MSSQL6.0]

$BASE$00=NLMSNMP,\\ dbserver \pipe\sql\ query

$BASE$01=NLWNSCK,dbserver,1433

query=$BASE$00;$BASE$01;

$BASE$02=NLMSNMP,\\dbserver\pipe\sql\query

$BASE$03=NLWNSCK,dbserver,1433

master=$BASE$02;$BASE$03;

[SYBASE11]

$BASE$00=NLWNSCK,dbserver,5000

$BASE$01=NLMSNMP,\\dbserver\pipe\sybase\query

master=$BASE$00;$BASE$01;

$BASE$02=NLWNSCK,dbserver,5000

$BASE$03=NLMSNMP,\\dbserver\pipe\sybase\query

query=$BASE$02;$BASE$03;

[SYBASE11_BS]

$BASE$00=NLWNSCK,dbserver,5001

$BASE$01=NLMSNMP,\\dbserver\pipe\sybase\ backup

query=$BASE$00;$BASE$01;

$BASE$02=NLWNSCK,dbserver,5001

$BASE$03=NLMSNMP,\\dbserver\pipe\sybase\backup

master=$BASE$02;$BASE$03;

[SYBASE11_MS]

$BASE$00=NLWNSCK,dbserver,5002

$BASE$01=NLMSNMP,\\dbserver\pipe\sybase\monitor

master=$BASE$00;$BASE$01;

$BASE$02=NLWNSCK,dbserver,5002

$BASE$03=NLMSNMP,\\dbserver\pipe\sybase\monitor

query=$BASE$02;$BASE$03;

时间: 2024-08-29 12:21:01

同时访问SQL SERVER和SYBASE数据库的相关文章

求助:asp.net访问sql server 无法创建数据库

问题描述 求助:asp.net访问sql server 无法创建数据库 OdeToFoodDb _db = new OdeToFoodDb(); public ActionResult Index() { var model = _db.Restaurant.ToList(); return View(model); } 错误提示:在数据库 'master' 中拒绝了 CREATE DATABASE 权限. network_service 和windows用户已设置为master数据库的owne

Delphi编程访问SQL Server数据库

delphi是一个优秀的可视化软件开发环境,并已广泛应用于数据库软件的开发.在DelphiC/S版环境中,结合其优化的数据库操作,以及Borland Database Engine(即:BDE,数据库引擎),对开发客户机/服务器系统下的网络数据库软件提供了更加快速有效的途径.在客户机/服务器系统中,服务器端我们采用Microsoft SQL Server6.0 for WindowsNT作为数据库服务器:另外,在客户端采用Delphi编写客户软件.在此,我们假定SQLServer设置完毕,并已经

VFP中用SPT访问SQL Server数据库

VFP因它简单易学,可快速建立应用软件而深受广大程序员喜爱,但其数据库系统不安全也令广大用户非常头痛.随着MS SQL Server数据库系统的推广应用,其强大的安全性能普遍受到好评.笔者在长期的编程实践中,发现利用VFP的SQL pass-through(SPT)技术结合MS SQL Server数据库系统,也能像VB.Delphi.PowerBuilder一样轻松开发出优秀的客户/服务器(C/S)应用软件.现通过编写一个简单的通信录例子和广大VFP爱好者共同探讨. 一.服务器端MS SQL

ado 链接sql server-c++利用ADO如何通过Internet网访问SQL Server数据库?

问题描述 c++利用ADO如何通过Internet网访问SQL Server数据库? c++利用ADO如何通过Internet网访问SQL Server数据库?需要对电脑设置哪些关键的项. 我的代码:bstr_t strConnect = "Driver={SQL Server};Server=10.0.0.44;Database=test;UID=sa;PWD=111111" //_bstr_t strConnect = "Provider=SQLOLEDB.1;Passw

SQL Server 2008备份数据库失败,拒绝访问的原因

原文:SQL Server 2008备份数据库失败,拒绝访问的原因 备份数据到特定目录是出现拒绝访问,然后测试备份到C盘根目录正常. 查了下原因: 是因为那个目录没有Authenticated Users的读写权限. 解决办法就是给sqlserver用户授予权限:    选择要备份的文件夹 ,右键-->属性-->安全-->看下"组或用户"是否包涵Authenticated Users 这个用名,因为是包括在计算机上或活动目录中的所有通过身份验证的账户,如果有了则给其分

go语言通过odbc访问Sql Server数据库的方法_Golang

本文实例讲述了go语言通过odbc访问Sql Server数据库的方法.分享给大家供大家参考.具体如下: 这里需要用到go-odbc库,开源地址为:https://github.com/weigj/go-odbc 复制代码 代码如下: package main; import (     "fmt"     "database/sql"     _"odbc/driver" ) func main(){     conn,err := sql.O

ORACLE 创建DBlink访问SQL SERVER数据库

  Oracle中使用透明网关链接到Sqlserver 在最近项目中需要从Oracle中访问SQL Server数据库, 自然想到了透明网关. 因为Oracle数据库是Linux上的, 而Linux上的Oracle9i不包括连接到SQL Server的透明网关.就在一台单独的Windows服务器上安装了透明网关用做Oracle访问SQL Server的桥梁. 环境如下: Oracle Database Server:Linux + oracle 9.2.0.4 IP:10.194.129.197

Ruby中访问SQL Server数据库的配置实例_ruby专题

因为工作需要,要分析存放在SQL Server上的数据,所以不得不研究一下如何使用Ruby访问SQL Server,发现其实还是很简单的: 安装FreeTDS 下载FreeTDS源代码 解压编译安装: 复制代码 代码如下: ./configure --prefix=/usr/local/freetds && make && sudo make install 安装Tiny_TDS Tiny_TDS,安装和使用非常简单,推荐使用: 复制代码 代码如下: sudo gem in

Sql Server 2005创建数据库及登陆用户图解教程

本文我们将详情介绍Sql Server 2005创建数据库.创建登录用户的步骤. 建立Sql Server 2005数据库 如图:点击新建数据库弹出,如下窗口,在其中进行数据库创建的操作. 此处按照图中所示,填写对应的数据,数据库名我们可以命得规范也不让轻意的让别的猜到,所有者选默认就可以了,我们还可以选择设置数据库文件及日志文件的大小及增长空间,还有数据库的存放路径,不过也可以使用默认的. 创建MSSQL2005登陆账户 在左侧菜单中展开安全性---选择登陆名,单击右键进行新登陆名的创建 注意