SQL Server如何才能访问Sybase中的表

网络整理 - 07-27

  问:SQL Server应该怎样访问Sybase数据库的表?

  答:具体方法如下:

  1: 安装Sybase客户端

  版本的要求:

  Sybase Client 11.9.2 for NT

  1.1:安装完成后,运行开始->程序->Sybase->Dsedit

  1.2:选择菜单的'Server Object',-> 'Add' 输入服务名 比如 1.70

  1.3:然后在Server列表中选择'1.70',双击右边的对话框server address栏,在Network Address Attribute对话框中 选择add 填入ip地址,比如132.228.1.70,4300,ok 确定

  1.4:选择工具栏的Ping Server按钮测试是否能连通服务器 (红色的类似闪电的按钮)

  2:在ODBC中建立DSN>

  管理工具->数据源ODBC

  新建一个系统DSN,名称设为 1.70

  在创建新数据源对话框中选择'Sybase System11'数据源驱动程序,

  General属性的DSN datasouce name: 填入 1.70,

  database: 填入sybase数据库名

  确定保存

  3:建立链接服务器

  企业管理器->安全性->建链接服务器->新建链接服务器

  3.1:常规标签栏目中

  名称Sybase,

  服务器类型选其他数据源,在提供程序的名称中选择

  Microsoft OLE DB Provider FOR ODBC

  数据源:填入DSN名字 1.70

  3.2:安全性栏目中

  本地登陆填入sa

  远程用户和远程密码填入sybase的用户名和密码

  3.3:使用此安全上下文建立连接

  远程登陆 输入sybase的用户名和密码

  使用密码 输入密码

  确定保存

  4: 用sa身份登陆查询分析器

  执行以下sql语句就能查出sybase数据

  select * from 链接服务器名(本例子为sybase).sybase的数据库名.dbo.sybase的表名

  注: 如果在执行查询时发现这个问题: 链接服务器 "sybase" 的 OLE DB 访问接口 "MSDASQL" 为列提供的元数据不一致。

  解决方法:: 不要直接用下面这种语句

  select * from sybase.dbname.dbo.tablename

  只需要换个语句,就能解决问题。具体语句如下:

  select * from openquery(sybase,'select * from dbname.dbo.tablename ')