科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道如何由Sybase向SQL Server移植数据库(2)

如何由Sybase向SQL Server移植数据库(2)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

最近参与了将一个Sybase数据库移植到Microsoft SQL Server 2000上的项目,我在这一项目上获得的经验,将对Sybase数据库管理员把Sybase数据库移植到SQL Server 2000平台上有一定的帮助。

作者:chinaitlab.com 来源:chinaitlab.com 2007年9月6日

关键字: Sybase SQL Server SQL Server 各版本 数据库

  • 评论
  • 分享微博
  • 分享邮件
 

除了上面的例子外,兼容性级别的差别还扩展到了保留字。Sybase和SQL Server都有许多不能被用作数据库中对象名字的的保留字,二种产品的保留字相似,但并不完全相同。

由于能够在Sybase中使用的对象可能不能在SQL Server中使用,这一问题使得由Sybase向SQL Server的移植凭添了许多困难。下面是在SQL Server中是保留字,而在Sybase中不是保留字的词汇清单。

注意:名字为下列清单中词汇的Sybase数据库中的对象在移植到SQL Server数据库时必须换为其它名字。

  
  BACKUP COLUMN COMMITTED CONTAINS CONTAINSTABLE
  CROSS CURRENT_DATE CURRENT_TIME CURRENT_TIMESTAMP CURRENT_USER
  DENY DISTRIBUTED FILE FLOPPY FREETEXT
  FREETEXTTABLE FULL IDENTITYCOL INNER JOIN
 
 

事务管理模式:

  Sybase SQL Server
  
  Set chained [ on : off ] Set implicit_transactions [on : off ]
 
 

在Sybase中使用下面的代码判断事务模式:

  
  SELECT @@tranchained
  GO
 
 

下面是可能返回的结果:

0 表明使用的是非链锁式事务模式。

1 表明连接运行在链锁模式下。

在SQL Server中使用下面的代码判断事务模式:

  
  IF (@@options & 2) > 0
  PRINT on
  ELSE
  PRINT off
  

下面是可能的返回结果:

  
  0 off
  >0 on
 
 

隔离水平

在一个关系数据库这样的多线程应用软件中,数据库引擎对运行的进程间的数据是如何被隔离的管理是非常重要的,在表示隔离水平时,Sybase和SQL Server的语法是不同的。下面的表格表明了Sybase和SQL Server在表示隔离水平时的差别。

  
  Sybase SQL Server
  
  0 READ UNCOMMITTED
  1 READ COMMITTED
  2 REPEATABLE READ
  3 SERIALIZABLE
  

游标语法

二种产品中存储过程的创建和执行基本相似,但在移植时,游标语句中的一些例外是我们应当注意的。下面是一个例子:

  
  CREATE PROCEDURE sql_cursor AS
  DECLARE @lname char(20), @fname char(20)
  DECLARE mycursor CURSOR FOR
  SELECT au_lname, au_fname FROM authors
  OPEN mycursor
  FETCH FROM mycursor INTO @lname, @fname
  WHILE @@ FETCH_STATUS = 0
  /* Sybase数据库使用@SQLSTATUS而不是@@ FETCH_STATUS */
  BEGIN
  FETCH FROM mycursor INTO @lname, @fname
  /*
  ** 这里应当是一些业务逻辑
  */
  END
  CLOSE mycursor
  DEALLOCATE /* Sybase数据库在这里需要CURSOR这个词 * / mycursor
  
  
  Sybase SQL Server
  
  Fetch命令执行成功 0 0
  Fetch命令执行失败 1 -2
  没有可存取的记录了 2 -1
 
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章