簡體   English   中英

在SQL Server 2000中獲取錯誤,但在SqlServer 2005中獲取錯誤

[英]getting error in SQL Server 2000 but not in SqlServer 2005

我正在執行存儲過程,並且在sqlserver 2000中收到錯誤消息“錯誤SQL Server數據庫錯誤:將數據類型varchar轉換為int時出錯。”,但是當我在Sql Server 2005中執行相同的存儲過程時,卻沒有錯誤並顯示結果。

有人對此有想法嗎?請幫助我。

謝謝魯帕

這可能取決於數據,而不是2000 vs 2005問題。 兩個數據庫中查詢所處理的行最有可能不同。

開始從失敗的查詢中注釋掉項目,然后每次運行它,直到它起作用。 您最后注釋掉的地方是發生問題的地方。 然后查看與該部分相關的塔塔。

它可能取決於存儲過程使用的執行計划

一個例子

Mytable表看起來像這樣

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

我的選擇看起來像這樣

從Mytable中選擇convert(int,Val),其中type ='num'

根據執行計划,這可能會失敗。 實際上,您可以擁有一個存儲過程,該存儲過程可以正常工作一段時間,但由於表的行數已更改並且sqlserver創建了新的執行計划而突然失敗,導致突然失敗

這里是另一個示例: http : //www.windows-tech.info/15/a0fc276997660092.php

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM