sql server 2008r2 脚本文件执行都区分大小写变量怎么办?

时间:2022-03-08 03:51:04
sql server 2008r2 脚本文件执行都区分大小写变量怎么办?

环境:windows server 2012服务器
           sql server 2008 r2 数据库

现在在查询分析器里执行语句变量都是区分大小写的;包括执行存储过程也是;

跟那个排序规则无关Chinese_PRC_CI_AI设置无关,
不知道这是在哪里设置;

看了MSDN的帮助,说是.net framework sql client来执行查询分析器里的这些语句,是他要检查大小写的;

那我该到哪里去取消他的大小写检测了?

15 个解决方案

#1


变量都是区分大小写

是变量吗?declare的?这样会报错吗?
DECLARE @NAME NVARCHAR(100)='222'
SELECT @name

#2


引用 1 楼 sinat_28984567 的回复:
变量都是区分大小写

是变量吗?declare的?这样会报错吗?
DECLARE @NAME NVARCHAR(100)='222'
SELECT @name


是的,就是这样报错,是@name没有定义

#3


有没点图看看啊

#4


sqlserver里面大小写区分必定跟排序规则有关系的。。。

#5


我拍了个照片,数据库随便选哪个
sql server 2008r2 脚本文件执行都区分大小写变量怎么办?

#6


sql server 2008r2 脚本文件执行都区分大小写变量怎么办?
sql server 2008r2 脚本文件执行都区分大小写变量怎么办?
看一下服务器属性和 master 库的排序规则

#7


是Chinese_PRC_BIN

#8


要完全正常, 要修正实例的排序规则, 这个过程也比较麻烦。

重新安装一个 SQL Server2014 吧,设置好之后原来的SQL Server2008 服务停掉。 
https://blog.csdn.net/yenange/article/details/50549937

安装时注意别把排序规则再搞错了。保证是: Chinese_PRC_CI_AS

#9


反正你是新服务器, 无所谓, 花点时间重新安装就是了, 不要纠结

#10


引用 9 楼 yenange 的回复:
反正你是新服务器, 无所谓, 花点时间重新安装就是了, 不要纠结


这个服务器上还有其他ERP和管理软件在用,不是说换就换的啊;所以才这么郁闷;
唉,看来只能一个一个的改存储过程的变量了,吸取教训,以后SQL 脚本也要注重大小写了。

#11


引用 10 楼 xugang96 的回复:
Quote: 引用 9 楼 yenange 的回复:

反正你是新服务器, 无所谓, 花点时间重新安装就是了, 不要纠结


这个服务器上还有其他ERP和管理软件在用,不是说换就换的啊;所以才这么郁闷;
唉,看来只能一个一个的改存储过程的变量了,吸取教训,以后SQL 脚本也要注重大小写了。

不对, 你应该注意的是安装 SQL Server 的时候不要搞错实例的排序规则。
根源错了, 后面弥补很麻烦。

#12


引用 7 楼 xugang96 的回复:
是Chinese_PRC_BIN

就是排序规则的问题,为什么提问一开始就说跟排序规则没关系呢?

#13


https://blog.csdn.net/roy_88/article/details/2686514
把过程里面的 print @Print 改一下,改成set @Print=UPPER(@Print)  exec sp_executesql @Print,然后循环获取你的过程名去调用,就能把存储过程的所有字母替换成大写啦

#14


引用 11 楼 yenange 的回复:
Quote: 引用 10 楼 xugang96 的回复:

Quote: 引用 9 楼 yenange 的回复:

反正你是新服务器, 无所谓, 花点时间重新安装就是了, 不要纠结


这个服务器上还有其他ERP和管理软件在用,不是说换就换的啊;所以才这么郁闷;
唉,看来只能一个一个的改存储过程的变量了,吸取教训,以后SQL 脚本也要注重大小写了。

不对, 你应该注意的是安装 SQL Server 的时候不要搞错实例的排序规则。
根源错了, 后面弥补很麻烦。


引用 11 楼 yenange 的回复:
Quote: 引用 10 楼 xugang96 的回复:

Quote: 引用 9 楼 yenange 的回复:

反正你是新服务器, 无所谓, 花点时间重新安装就是了, 不要纠结


这个服务器上还有其他ERP和管理软件在用,不是说换就换的啊;所以才这么郁闷;
唉,看来只能一个一个的改存储过程的变量了,吸取教训,以后SQL 脚本也要注重大小写了。

不对, 你应该注意的是安装 SQL Server 的时候不要搞错实例的排序规则。
根源错了, 后面弥补很麻烦。


引用 11 楼 yenange 的回复:
Quote: 引用 10 楼 xugang96 的回复:

Quote: 引用 9 楼 yenange 的回复:

反正你是新服务器, 无所谓, 花点时间重新安装就是了, 不要纠结


这个服务器上还有其他ERP和管理软件在用,不是说换就换的啊;所以才这么郁闷;
唉,看来只能一个一个的改存储过程的变量了,吸取教训,以后SQL 脚本也要注重大小写了。

不对, 你应该注意的是安装 SQL Server 的时候不要搞错实例的排序规则。
根源错了, 后面弥补很麻烦。


我是搞了10几年的软件头一次遇到这事,这数据库不是我安装的,是在人家公司已经有的ERP服务器上附加我的数据库使用的;而且人家ERP在正常使用,我也不能随便重新安装吧;

郁闷的为什么我自带的数据库排序规则是与大小写无关的,而且SQL SERVER数据库也是可以每个数据库设定不同的排序规则,为什么附加上去后,所有的脚本都要搞成遵守大小写规则了?

#15


引用 12 楼 z10843087 的回复:
Quote: 引用 7 楼 xugang96 的回复:

是Chinese_PRC_BIN

就是排序规则的问题,为什么提问一开始就说跟排序规则没关系呢?


如果是排序规则的问题,那我建一个空白的数据库,完全设置成大小写无关,怎么还是没有用了?

郁闷的为什么我自带的数据库排序规则是与大小写无关的,而且SQL SERVER数据库也是可以每个数据库设定不同的排序规则,为什么附加上去后,所有的脚本都要搞成遵守大小写规则了?

是不是以后遇到这事,只能重新安装了?没有哪个开关可以更改这个设置?

#1


变量都是区分大小写

是变量吗?declare的?这样会报错吗?
DECLARE @NAME NVARCHAR(100)='222'
SELECT @name

#2


引用 1 楼 sinat_28984567 的回复:
变量都是区分大小写

是变量吗?declare的?这样会报错吗?
DECLARE @NAME NVARCHAR(100)='222'
SELECT @name


是的,就是这样报错,是@name没有定义

#3


有没点图看看啊

#4


sqlserver里面大小写区分必定跟排序规则有关系的。。。

#5


我拍了个照片,数据库随便选哪个
sql server 2008r2 脚本文件执行都区分大小写变量怎么办?

#6


sql server 2008r2 脚本文件执行都区分大小写变量怎么办?
sql server 2008r2 脚本文件执行都区分大小写变量怎么办?
看一下服务器属性和 master 库的排序规则

#7


是Chinese_PRC_BIN

#8


要完全正常, 要修正实例的排序规则, 这个过程也比较麻烦。

重新安装一个 SQL Server2014 吧,设置好之后原来的SQL Server2008 服务停掉。 
https://blog.csdn.net/yenange/article/details/50549937

安装时注意别把排序规则再搞错了。保证是: Chinese_PRC_CI_AS

#9


反正你是新服务器, 无所谓, 花点时间重新安装就是了, 不要纠结

#10


引用 9 楼 yenange 的回复:
反正你是新服务器, 无所谓, 花点时间重新安装就是了, 不要纠结


这个服务器上还有其他ERP和管理软件在用,不是说换就换的啊;所以才这么郁闷;
唉,看来只能一个一个的改存储过程的变量了,吸取教训,以后SQL 脚本也要注重大小写了。

#11


引用 10 楼 xugang96 的回复:
Quote: 引用 9 楼 yenange 的回复:

反正你是新服务器, 无所谓, 花点时间重新安装就是了, 不要纠结


这个服务器上还有其他ERP和管理软件在用,不是说换就换的啊;所以才这么郁闷;
唉,看来只能一个一个的改存储过程的变量了,吸取教训,以后SQL 脚本也要注重大小写了。

不对, 你应该注意的是安装 SQL Server 的时候不要搞错实例的排序规则。
根源错了, 后面弥补很麻烦。

#12


引用 7 楼 xugang96 的回复:
是Chinese_PRC_BIN

就是排序规则的问题,为什么提问一开始就说跟排序规则没关系呢?

#13


https://blog.csdn.net/roy_88/article/details/2686514
把过程里面的 print @Print 改一下,改成set @Print=UPPER(@Print)  exec sp_executesql @Print,然后循环获取你的过程名去调用,就能把存储过程的所有字母替换成大写啦

#14


引用 11 楼 yenange 的回复:
Quote: 引用 10 楼 xugang96 的回复:

Quote: 引用 9 楼 yenange 的回复:

反正你是新服务器, 无所谓, 花点时间重新安装就是了, 不要纠结


这个服务器上还有其他ERP和管理软件在用,不是说换就换的啊;所以才这么郁闷;
唉,看来只能一个一个的改存储过程的变量了,吸取教训,以后SQL 脚本也要注重大小写了。

不对, 你应该注意的是安装 SQL Server 的时候不要搞错实例的排序规则。
根源错了, 后面弥补很麻烦。


引用 11 楼 yenange 的回复:
Quote: 引用 10 楼 xugang96 的回复:

Quote: 引用 9 楼 yenange 的回复:

反正你是新服务器, 无所谓, 花点时间重新安装就是了, 不要纠结


这个服务器上还有其他ERP和管理软件在用,不是说换就换的啊;所以才这么郁闷;
唉,看来只能一个一个的改存储过程的变量了,吸取教训,以后SQL 脚本也要注重大小写了。

不对, 你应该注意的是安装 SQL Server 的时候不要搞错实例的排序规则。
根源错了, 后面弥补很麻烦。


引用 11 楼 yenange 的回复:
Quote: 引用 10 楼 xugang96 的回复:

Quote: 引用 9 楼 yenange 的回复:

反正你是新服务器, 无所谓, 花点时间重新安装就是了, 不要纠结


这个服务器上还有其他ERP和管理软件在用,不是说换就换的啊;所以才这么郁闷;
唉,看来只能一个一个的改存储过程的变量了,吸取教训,以后SQL 脚本也要注重大小写了。

不对, 你应该注意的是安装 SQL Server 的时候不要搞错实例的排序规则。
根源错了, 后面弥补很麻烦。


我是搞了10几年的软件头一次遇到这事,这数据库不是我安装的,是在人家公司已经有的ERP服务器上附加我的数据库使用的;而且人家ERP在正常使用,我也不能随便重新安装吧;

郁闷的为什么我自带的数据库排序规则是与大小写无关的,而且SQL SERVER数据库也是可以每个数据库设定不同的排序规则,为什么附加上去后,所有的脚本都要搞成遵守大小写规则了?

#15


引用 12 楼 z10843087 的回复:
Quote: 引用 7 楼 xugang96 的回复:

是Chinese_PRC_BIN

就是排序规则的问题,为什么提问一开始就说跟排序规则没关系呢?


如果是排序规则的问题,那我建一个空白的数据库,完全设置成大小写无关,怎么还是没有用了?

郁闷的为什么我自带的数据库排序规则是与大小写无关的,而且SQL SERVER数据库也是可以每个数据库设定不同的排序规则,为什么附加上去后,所有的脚本都要搞成遵守大小写规则了?

是不是以后遇到这事,只能重新安装了?没有哪个开关可以更改这个设置?