在 SQL Server 2000 中出现错误,但在 SqlServer 2005 中没有出现错误
我正在执行一个存储过程,并且在 sqlserver 2000 中收到一条错误消息“错误 SQL Server 数据库错误:将数据类型 varchar 转换为 int 时出错。”。但是当我在 Sql server 2005 中执行相同的存储过程时,我没有得到任何信息错误和结果正在显示。
有人对此有想法吗?请帮助我,
谢谢 。 色法
I am executing a stored procedure and i got an error saying 'Error SQL Server Database Error: Error converting data type varchar to int." in sqlserver 2000. But when I execute the same stored proc in Sql server 2005,i am not getting any error and result is getting displayed.
Any one is having idea regarding this??Please do help me.
Thanks
Rupa
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这可能取决于数据,而不是 2000 年与 2005 年的问题。两个数据库中查询正在处理的行很可能不同。
开始从失败的查询中注释掉项目,并每次运行它,直到它起作用。您注释掉的最后一件事是问题发生的地方。然后查看与该部分相关的tata。
this could be data dependant and not a 2000 vs 2005 issue. It is most likely where the rows the query is working on are different in both databases.
start to comment out item from the query that failes, and run it each time, until it works. the last thing you commented out is where the problem is happening. then look at the tata related to that part.
它可能取决于存储过程使用的执行计划
示例
表 Mytable 看起来像这样
我的选择看起来像这样
select Convert(int,Val) from Mytable
其中 type = 'num'
这可能会失败,具体取决于执行计划。实际上,您可以有一个存储过程,它可以工作一段时间,但突然失败,只是因为表中的行数已更改,并且 sqlserver 创建了一个新的执行计划,
这里是另一个示例:
http://www.windows-tech.info/15/a0fc276997660092.php
It might dependt on the executionplan the stored procedure uses
An example
The table Mytable looks like this
My select looks like this
select convert(int,Val) from Mytable
where type = 'num'
This might fail depending on the executionplan. You can actually have a stored procedure that works fine for a while but suddenly fails just because of the amount of rows int your table have changed and the sqlserver has created a new executionplan
Here another example:
http://www.windows-tech.info/15/a0fc276997660092.php