用SQL Server访问Sybase中的表的方法
程序员文章站
2022-11-05 19:46:21
问:sql server应该怎样访问sybase数据库的表? 答:具体方法如下: 1: 安装sybase客户端 版本...
问: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 ')
答:具体方法如下:
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 ')
推荐阅读
-
SQL中WHERE变量IS NULL条件导致全表扫描问题的解决方法
-
C#访问SQL Server数据库的实现方法
-
在sqlserver2005中安装sql server 2000的示例数据库northwind的方法
-
SQL Server 2005 中做全文检索的方法分享
-
sql server 2005中使用with实现递归的方法
-
Oracle中在pl/sql developer修改表的2种方法
-
用SQL语句查询数据库中某一字段下相同值的记录方法
-
sql将一个表中的数据插入到另一个表中的方法
-
SQL Server中检查字段的值是否为数字的方法
-
SQL Server 数据库调整表中列的顺序操作方法及遇到问题