Office中国论坛/Access中国论坛

标题: SQL2005 升级到 SQL2012出错 [打印本页]

作者: accben    时间: 2018-12-3 15:43
标题: SQL2005 升级到 SQL2012出错
VB6运行出错代码:
cnn.Execute ("create view BZ4 as SELECT  XH.JBXH,BZ1.BBBZ From BZ1,XH1 WHERE XH1.JBXH*=BZ1.JBXH ")

在SQL2005上述语句运行正常,后台升级到SQL2012后,提示出错如下:
*=附近有语法错误。

XH1.JBXH*=BZ1.JBXH 在SQL2012不兼容吗?

升级到SQL2012,VB6如何写这句代码才正确?

请各位大侠出手帮忙一下,谢谢!

作者: roych    时间: 2018-12-3 17:58
如果没记错,要先升级到2008才能升级到2018的。此外,这个可以改为BZ1 left join XH1 on XH1.JBXH=BZ1.JBXH。
作者: accben    时间: 2018-12-4 09:03
本帖最后由 accben 于 2018-12-4 11:32 编辑

感谢roych版的关注!

我先会试下您的建议:将字段加星号 改为 left join on试试。

关于SQL的升级,我是这样操作的:
从旧服务器SQL2005完整备份成BAK文件,然后再将BAK文件复制到新服务器,在新服务器SQL2012下使用BAK文件还原数据库。
roych版意思是:
先从SQL2005备份一个BAK文件,再将SQL2005的BAK文件在SQL2008下还原数据库,
然后再从SQL2008备份一个BAK文件,再将SQL2008的BAK文件在SQL2012下还原数据库。
是这样吗?

另外,还想问问:
1)在高版本还原低版本的BAK文件,SQL数据库的属性兼容级别要修改吗(如SQL2005在SQL2012还原后,兼容级别还是90,需要改为110吗?)
2)SQL升级操作,用分离附加的方式好,还是用备份还原的方式好?

作者: accben    时间: 2018-12-4 16:27
经测试:
将字段加星号 改为 left join on在SQL2012还是会报错,提示left有语法错误。

经测试:
在新服务器重新安装了SQL2008,然后还原SQL2005的备份文件,这样就不会报错了。
看来SQL2005直到SQL2012跨版本太大,问题多多。

用不了SQL2012,只能用SQL2008了。

最后,非常感谢roych版主解答,谢谢了。
作者: GOODWIN    时间: 2021-10-11 16:19
学习




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3