在 SQL Server 2000 中出现错误,但在 SqlServer 2005 中没有出现错误

发布于 2024-08-04 02:30:55 字数 188 浏览 4 评论 0原文

我正在执行一个存储过程,并且在 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

月下伊人醉 2024-08-11 02:30:55

这可能取决于数据,而不是 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.

七婞 2024-08-11 02:30:55

它可能取决于存储过程使用的执行计划

示例

表 Mytable 看起来像这样

     Mytable    
    __________
    |Val|type |
    -----------
    |'1'|'num'|
    |'2'|'num'|
    |'a'|'chr'|
    |'b'|'chr'|
    |'8'|'num'|

我的选择看起来像这样

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

     Mytable    
    __________
    |Val|type |
    -----------
    |'1'|'num'|
    |'2'|'num'|
    |'a'|'chr'|
    |'b'|'chr'|
    |'8'|'num'|

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文