用SQL Server访问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 ') 

时间: 2024-10-24 20:53:14

用SQL Server访问Sybase中的表的方法_数据库其它的相关文章

推荐Sql server一些常见性能问题的解决方法_数据库其它

1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is null 可以在num上设置默认值0,确保表中num列没有null值,然后这样查询: select id from t where num=0 3.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放

SQL SERVER 里的错误处理(try catch)_数据库其它

BEGIN TRY -- END TRY BEGIN CATCH -- END CATCH. 另外,WITH 语句如果前面还有别的SQL语句,应该在前面的SQL语句结尾加上分号";".比如在这个TRY CATCH里,就应该在前面加个";",如下: BEGIN TRY WITH w AS( SELECT f1,f2,f3 ,ROW_NUMBER() OVER(ORDER BY Id DESC) AS Row FROM [t1] WHERE Code=@Code ) I

redis数据库查找key在内存中的位置的方法_数据库其它

一.预先需要了解的知识1.redis 中的每一个数据库,都由一个 redisDb 的结构存储.其中,redisDb.id 存储着 redis 数据库以整数表示的号码.redisDb.dict 存储着该库所有的键值对数据.redisDb.expires 保存着每一个键的过期时间.2.当redis 服务器初始化时,会预先分配 16 个数据库(该数量可以通过配置文件配置),所有数据库保存到结构 redisServer 的一个成员 redisServer.db 数组中.当我们选择数据库 select n

SQL Server遍历表中记录的2种方法

SQL Server遍历表一般都要用到游标,SQL Server中可以很容易的用游标实现循环,实现SQL Server遍历表中记录.本文将介绍利用使用表变量和游标实现数据库中表的遍历. 表变量来实现表的遍历 以下代码中,代码块之间的差异已经用灰色的背景标记. 1 DECLARE @temp TABLE 2 3 ( 4 5 [id] INT IDENTITY(1, 1) , 6 7 [Name] VARCHAR(10) 8 9 ) 10 11 DECLARE @tempId INT , 12 13

sql server 2008如何根据一个表中数据去查询另一个表的数据?

问题描述 sql server 2008如何根据一个表中数据去查询另一个表的数据? 现在我有三个表,表A有11列,其中有一列用来记录员工的id,一列是记录类型的Id,现在我要查询出表A的所有数据,但同时我要通过员工的id去查询出表B的员工名,通过类型的id,去查询出表C中的类型详情,最后我要得到的数据就是表A中除了员工id和类型id的数据外的9列数据,加上表B的员工名和表C的类型详情,请问这样的SQL语句要如何写? 解决方案 用一个表的数据更新另一个表Sql ServerSQL server中将

SQL SERVER Transactional Replication中添加新表如何不初始化整个快照

原文:SQL SERVER Transactional Replication中添加新表如何不初始化整个快照 在SQL SERVER的复制(Replication)中,有可能出现由于业务需求变更,需要新增一张表或一些表到已有的复制(发布订阅)当中,这种需求应该是很正常,也很常见的.但是在已有的复制(发布订阅)当中增加新表/文章,往往需要将整个快照重新初始化,这样做虽然简单,但是往往在实际应用中会出现一些问题,例如,发布订阅的表比较多,数据量比较大,那么重新初始化快照往往需要很长一段时间,影响系统

SQL Server 2008 R2中,变表的右键弹出菜单中的“选择前1000行”为“选择所有行”

原文:SQL Server 2008 R2中,变表的右键弹出菜单中的"选择前1000行"为"选择所有行" 从SQL Server 2008开始,微软为了提高查询效率等原因,右键点击表时弹出菜单中默认没有"显示所有行",而以"选择前1000行"替代.这有时会为我们带来一些不便. 更改方法是:打开SQL Server Management Studio,依次点击"工具"菜单."选项",展开左

SQL Server访问ADO

ado|server|访问 SQL Server访问ADO  ---- 平常我们只听说过ADO等一类ASP对象,但在ASP中还有个鲜为人知的专门SQL Server的ASP访问对象,它就是SQLOLE.SQLServer对象.SQLOLE.SQLServer可以直接访问SQL Server的系统属性.以Set oSQLServer = CreateObject ("SQLOLE.SQLServer")语句将产生一个SQL Server服务器对象.  ---- 若要查看此服务器中数据库的

怎样用ADO在SQL SERVER中建库,建表

怎样用ADO在SQL SERVER中建库,建表 通过ADO可以访问SQL SERVER,并执行相应的SQL语句建库.建表,下面是SQL SERVER BOOKS ONLINE中的相关定义. 建表: CREATE TABLE [ database_name.[owner]. | owner. ] table_name ( { | column_name AS computed_column_expression | } [,...n] ) [ON {filegroup | DEFAULT} ] [