sql anywhere高版本兼容win10的sql版本低版本吗

关于sql anywhere高版本兼容低版本吗?的搜索推荐 -其他数据库-TryCatch
>> 相关推荐
关于的搜索推荐
我有一个db文件,不知道是哪个版本的. 用sqlanywhere12连接出现 无法连接到数据库。
无法启动指定的数据库:'C:\DocumentsandSettings\AllUsers\Documents\SQLAnywhere12\Samples\demo.db'由本软件的另一版本创建 [Sybase][ODBCDriver][SQLAnywhere]无法启动指定的数据库:'C:\DocumentsandSettings\AllUsers\Documents\SQLAnywhere12\Samples\demo.db'由本软件的另一版本创建 SQLCODE=-1005 SQLSTATE=08001
连接参数: 用户=dba 口令=*** DSN=SQLAnywhere12Demo ENC=NONE
用DBINFO检查一下是什么版本的,ASA就是这样,在低版本下生成SQL文件,在新版本下重新导入
具体如何操作,我从来没用过个这数据库!你QQ多少?
1、关闭SQLAnywhere和AdaptiveServerAnywhere数据库服务器因为版本10的dbunload实用工具不能针对运行在较早版本数据库服务器上的数据库工作。例如: dbstop-c"DBF=mydb.UID=DBA;PWD=sql"
  2、确保版本10的实用工具在系统路径中优先于别的工具。
  3、使用dbunload实用工具创建一个reload.sql文件。例如: dbunload-c"connection-string"directory-name
  4、使用初始化工具(dbinit)创建一个新数据库。或在S...
有三台服务器A: SQL2008
有数据库1 B: SQL2005
有数据库2C: 空现在需要将数据库1,数据库2 发布到C上。C是装SQL2008好,还是 SQL2005好 那个更容易? 更不容易...
我有一个sql anywhere 10,但是我打不开一个低版本的sql anywhere的数据库,总提示此文件由本软件的另一个版本所创建, 请问怎么办?
------------
呵呵 ,不能...
我怕已经做好的程序出错,我在多个地方使用到dbgrideh,是3.0版本
------------
先将你的程序备个份,安装个试试,将他安装到2007了,也没发现问题。
-------...
------------
LINUX内核版本为2.4.31就是LINUX内核版本呀,你说的什么意思,肯定是向下兼容的,但是linux做的没有windows做的那么好。
------------
有没有与Window7兼容的sql server版本?
如果有 在哪里下载?
------------
我安装的是SQL 2008,和 SQL 2000 使用差不多,就是没有原来的管理器和...
本帖最后由 thy 于
13:34:12 编辑
------------
该怎么弄,写一个类继承Installer,但是MsiExec.exe好像在安装的时候无法再启动一个吧?就...
在高版本下建的nsf,如何在第版本的客户端打开,而不提示”nsf版本不对“
------------
转回低版本格式,用高版本的ncompact databasename.nsf -R
----------...
高版本到低版本的问题,以下语句,还能写成什么样????select cardNameID,cardName,count(cardNameID) as quantity from (select card.cardNameID,cardname.cardNam...
我在“版本信息: Microsoft .NET Framework 版本:1.1.; ASP.NET 版本:1.1. ”机器上开发的程序,能在“版本信息: Microsoft .NET Framework 版本...
我在PB8里做的datawindow在PB7里怎么用?谢谢!
------------
好象不能用,你直接用PB8.02就得了。...
exp和imp不行如果和线导出成文本,再导入呢?帮帮我?
------------
unix环境下
------------
你用一个低版本的客户端去导出高版本的数据库,然后再用这个版...
我电脑上装的 10 , 数据库服务器上装的是 9导出报 6550 的错误有什么办法处理?
------------
应该不会吧!啥错误?
------------
就是 6550 的错误
我的电脑现在IE的版本是6。0版,因为一些业务的需要,觉得6。0版本很慢,想用回IE5。0版本,能不能在不重装系统的情况从6。0版本降到5。0版本。现在我安装的时候...
我用的是VS2010的,在做三层时老师提供的窗体是VS2008做的,我在窗体层引用VS2010做的其他层(实体层和业务层,数据访问层)时,引用的层显示黄色感叹号,而且在窗体层中...
我有一个程序,使用STL,如其中的vector,list等,在ubuntu 12.04中下能编译通过,运行结果也正确。我把这个程序编译成.so文件,想在redhat linux 9.0下调用这个....> 请教高版本的sql anywhere能打开低版本的吗
请教高版本的sql anywhere能打开低版本的吗
IMUSTZB & &
发布时间: & &
浏览:64 & &
回复:2 & &
悬赏:0.0希赛币
请问高版本的sql anywhere能打开低版本的吗?我有一个sql anywhere 10,但是我打不开一个低版本的sql anywhere的数据库,总提示此文件由本软件的另一个版本所创建, 请问怎么办
呵呵 ,不能,在低版本中使用dbunload 实用工具创建一个reload.sql 文件。例如:dbunload -c &connection-string& directory-name在高版本中新建DB在Interactive SQL 中将reload.sql 应用到数据库中。dbisql -c &DBF=new.UID=DBA;pwd=sql& reload.sql这样才行
imyzw717 & &
22:12:31 & &
& & (0)(0)引用没办法,ASA似乎向下兼容不是太好,必须转换ojiajiao & &
22:12:31 & &
& & (0)(0)引用
本问题标题:
本问题地址:
温馨提示:本问答中心的任何言论仅代表发言者个人的观点,与希赛网立场无关。请对您的言论负责,遵守中华人民共和国有关法律、法规。如果您的言论违反希赛网问答中心的规则,将会被删除。
暂无合适的专家
&&&&&&&&&&&&&&&
希赛网 版权所有 & &&常见问题解答 - SQL Anywhere
常见问题解答 - SQL Anywhere3534人阅读
SQL Server 数据库(5)
& & & 微软SQL Server是很多企业的理想选择,新的版本通常更快更强大,我们也会迫不及待把老版本数据库升级为新版本,这无可厚非,通常也非常顺利,在老版本中备份数据库,然后在新版本数据库中恢复一下就可以了,微软自己的东西,兼容性通常不是问题,但有时我们需要回到低版本,比如客户只有低版本的数据库等情况,如果我们要把高版本的数据库备份,然后用低版本数据库来还原,通常是不现实的,升级容易降级难.
& & &这时,我们自然想到了,用脚本来实现,脚本可以完成表/视图/存储过程/函数等创建工作,却无法把数据也导入进来,如果数据库中有几百张表,手工导入数据将会是一场梦魇,为此,我通过一段代码来实现了自动导入功能,具体步骤如下:
& & 1.在低版本数据库中,建立一个到高版本数据库的链接,如果你没有使用过链接服务器,那就百度一下吧,很简单的
& & 2.用sql server的Management studio连接到高版本数据库上,配置一下选项,&SQL Server对象资源管理器&→&编写脚本&中,去掉&包含说明性标头&/&编写USE&数据库&脚本&/&编写if not exists 子句&,勾选&编写索引脚本&,注意&为服务器版本编写脚本&选择低版本数据库对应的版本,其他选项可以根据实际情况进行设置.
& &3.在低版本数据库中创建一个数据库,名称和高版本中的一样
& &4.回到高版本数据库,选择全部的用户表(按F7打开对象资源管理器详细信息),点鼠标右键,选择创建脚本,这时,我们欣喜的发现,创建的脚本分为前后两部分,前面部分是创建了表结构,后面部分对每张表添加约束/关联等信息,我们先把前面部分复制下来,粘贴到低版本数据库里面执行,这样,就创建了表结构.
& &5.在低版本数据库中执行下面的脚本,将数据从高版本导入:
--设置链接数据库名
DECLARE @LinkDB NVARCHAR(100)
SELECT @LinkDB='[192.168.1.102,3000].[Station_Center]'&
--创建一个表变量,存放所有用户表名称
DECLARE @tb TABLE(TableName NVARCHAR(50))
INSERT @tb
select [name] int from sysobjects where xtype='U' order by [name]
--定义需要执行的SQL语句、当前操作的表名、表中是否有标识字段
DECLARE @Sql NVARCHAR(3000),@tbName NVARCHAR(50),@IsISIDENTITY BIT
--通过游标,逐一对各表进行数据导入
declare scu_Ticks CURSOR &LOCAL FORWARD_ONLY READ_ONLY STATIC &
for select TableName from @tb
open scu_Ticks
fetch &from scu_Ticks into @tbName
while (@@fetch_status=0)
--检查是有标识字段,如果有,先关闭
IF EXISTS(SELECT &*
FROM SYSCOLUMNS A INNER JOIN SYSOBJECTS D &ON
A.ID=D.ID &AND D.XTYPE='U' AND &D.NAME&&'DTPROPERTIES'
WHERE D.NAME=@tbName AND COLUMNPROPERTY( A.ID,A.NAME,'ISIDENTITY')=1&
SET @IsISIDENTITY=1
SET @IsISIDENTITY=0
SELECT @Sql='
Truncate TABLE '+@tbName
IF @IsISIDENTITY =1
--有标识字段,先临时关闭
SET @Sql=@Sql+'
SET IDENTITY_INSERT '+@tbName+' ON
--从链接数据库导入数据
SET @Sql=@Sql+'
insert into '+@tbName+'
select * from '+ @LinkDB+'.dbo.'+@tbName
IF @IsISIDENTITY =1
--恢复标识
SET @Sql=@Sql+'
SET IDENTITY_INSERT '+@tbName+' OFF
EXEC(@Sql)--执行组合的SQL语句
fetch next from scu_Ticks into @tbName
close scu_Ticks
deallocate scu_Ticks
& & & 6.现在,表中有数据了,再把第4步中生产的脚本的后半部分复制过来执行一下,这样,表之间的关联/约束就有了
& & & 7.最后,将视图/函数/存储过程等其他内容通过脚本创建起来.
& & & 其实,我们真正需要解决的是如何将数据自动导入,其他的,都是通过自动生成的脚本来实现的
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:163815次
积分:1866
积分:1866
排名:第18475名
原创:30篇
评论:146条
(1)(1)(1)(1)(1)(1)(2)(1)(1)(1)(1)(1)(2)(1)(2)(1)(1)(1)(2)(1)(1)(1)(5)Sybase(1)
前置条件:版本以&.&进行分割。
ALTER PROCEDURE &SMM&.&sp_justsy_zh_compare_app_version&( &&
& & IN &p_original & & &VARCHAR(50) &&
& &,IN &p_compare & & & VARCHAR(50) &
--result( response xml )&
RESULT( r_respone INTEGER)&
& & -- 比较应用版本、 &
& & -- p_original & p_compare return -1 &
& & -- p_original = p_compare return 0 &
& & -- p_original & p_compare return 1 &
& & DECLARE lv_comp & & & & INTEGER; &
& & DECLARE lv_ori_index & &INTEGER; &
& & DECLARE lv_com_index & &INTEGER; &
& & DECLARE lv_sort_key & & INTEGER; &
& & DECLARE lv_equal_count &INTEGER; -- 版本是否相同计数
& & DECLARE lv_ori_value & &INTEGER;
& & DECLARE lv_com_value & &INTEGER;
& & DECLARE LOCAL TEMPORARY TABLE SplitTable ( SortKey INTEGER DEFAULT AUTOINCREMENT, OriVal VARCHAR(20), ComVal VARCHAR(20), PRIMARY KEY(SortKey)) ON COMMIT DELETE ROWS ; &
& & -------- &Init Value------- &
& & SET lv_comp = -1 ; & & &
& & SET p_original = TRIM(p_original) ; & & &
& & SET p_compare = &TRIM(p_compare) ; &
& & SET lv_sort_key = 1 ; &
& & SET lv_equal_count = 0 ; & &
& & -------- &Init Value------- &
& & -- 拆分出p_original变量中字符串 &
& & SET lv_ori_index = CHARINDEX('.', p_original) ; &
& & WHILE lv_ori_index &= 1 LOOP &
& & & & INSERT INTO SplitTable( OriVal) VALUES (LEFT(p_original,lv_ori_index -1)) ; &
& & & & SET p_original = SUBSTR(p_original,lv_ori_index + 1,LENGTH(p_original)-lv_ori_index) ; &
& & & & SET lv_ori_index = CHARINDEX('.', p_original) ; &
& & END LOOP ; & & &
& & INSERT INTO SplitTable(OriVal) VALUES (p_original) ; &
& & -- 拆分p_compare变量中字符串 &
& & SET lv_com_index = CHARINDEX('.', p_compare) ; &&
& & WHILE lv_com_index &= 1 LOOP &
& & & & INSERT INTO SplitTable(SortKey, ComVal) ON EXISTING UPDATE VALUES(lv_sort_key,LEFT(p_compare,lv_com_index -1)) ; &
& & & & SET p_compare = SUBSTR(p_compare,lv_com_index + 1,LENGTH(p_compare)-lv_com_index) ; &
& & & & SET lv_com_index = CHARINDEX('.', p_compare) ; &
& & & & SET lv_sort_key = 1 + lv_sort_ &
& & END LOOP ; & & &
& & INSERT INTO SplitTable(SortKey, ComVal) ON EXISTING UPDATE VALUES(lv_sort_key, p_compare) ; & & & & & &
-- & &FOR compare_temp AS compare_temp_cursor NO SCROLL CURSOR FOR &
-- & & & & SELECT OriVal, ComVal, SortKey FROM SplitTable ORDER BY SortKey FOR READ ONLY &
-- & &DO &
-- & & & &INSERT INTO dba.ml_temp(PFName,PFXMLValue) VALUES('sp_justsy_zh_compare_app_version',OriVal+'---'+ComVal+'--'+STRING(SortKey)) ; &
-- & &END FOR ; &
& & compare_loop_for: &
& & FOR compare_loop AS compare_loop_cursor NO SCROLL CURSOR FOR &
& & & & SELECT COALESCE(OriVal,'') AS OriVal, COALESCE(ComVal,'') AS ComVal, SortKey FROM SplitTable ORDER BY SortKey FOR READ ONLY &
& & & & IF(ISNUMERIC(OriVal) = 0) THEN
& & & & & & SET lv_ori_value = ASCII(OriVal) ;
& & & & ELSE
& & & & & & SET lv_ori_value = CAST(OriVal AS INTEGER) ;
& & & & ENDIF ;
& & & & IF(ISNUMERIC(ComVal) = 0) THEN
& & & & & & SET lv_com_value = ASCII(ComVal) ;
& & & & ELSE
& & & & & & SET lv_com_value = CAST(ComVal AS INTEGER) ;
& & & & ENDIF ;
& & & & & & & & & &&
& & & & IF(lv_ori_value & lv_com_value) THEN &
& & & & & & SET lv_comp = 1 ; &
& & & & & & SET lv_equal_count = lv_equal_count + 1 ; &
& & & & & & LEAVE compare_loop_ &&
& & & & ELSEIF(lv_ori_value & lv_com_value) THEN &
& & & & & & SET lv_comp = -1 ; &
& & & & & & SET lv_equal_count = lv_equal_count + 1 ; &
& & & & & & LEAVE compare_loop_ &&
& & & & ENDIF ; &
& & & & & & -- 版本相同的情况 & & & & &&
& & END FOR ; & &
& & -- 版本相同的情况 & &&
& & IF(lv_equal_count = 0) THEN
& & & & SET lv_comp = 0 ; &
& & ENDIF ;
& & SELECT lv_
卧槽,说到这里不得不吐槽一个很变态的问题,这个存储过程直接用控制台打开进行执行没有问题,但在使用jdbc进行调用时,返回的结果就是不对,debug了一下,原来使用游标取临时表中的数据时,表里的数据已被清除。
看了一下帮助文档,临时表的数据是在on commit时进行清除的,难道在那个地方,数据库已经进行commit了?
好,到了这里在java代码里设置conn.setAutoCommit(false) ;擦,结果就对了,坑死我了。
问题就此解决了,这里小记录一下,留着以后备用,也给遇到相同问题的同学一个帮助。
call sp_justsy_zh_compare_app_version('45.5.4','5.6') ;
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:119705次
积分:2156
积分:2156
排名:第15256名
原创:88篇
转载:25篇
评论:45条
(1)(2)(2)(11)(1)(3)(5)(3)(3)(2)(9)(3)(12)(4)(7)(10)(19)(18)

我要回帖

更多关于 兼容win10的sql版本 的文章

 

随机推荐