簡體   English   中英

無法使用JDBC執行存儲過程

[英]Cannot Execute Stored Procedure using JDBC

我使用sybase數據庫,正在嘗試將一些值更新到數據庫中。

嘗試運行此代碼時,它將引發異常:com.sybase.jdbc2.jdbc.SybSQLException:以'WeeklyStudentEventClassArchiv'開頭的標識符太長。 長度上限為30。

該表在另一個數據庫中,因此我必須使用數據庫名稱以及下面的名稱:StudActive..WeeklyStudentEventClassArchiv,它顯然超過30個字符。

我必須在存儲過程中使用databasename..tablename,但會引發異常。

即使我將sql實際嵌入Java代碼中,也會發生這種情況。

這怎么解決。

The Stored Procedue is as shown:
create proc dbo.sp_getStudentList(
@stDate int,
@endDate int
)
as
begin
set nocount on

      select distinct studCode
      StudActive..WeeklyStudentEventClassArchive      
      where studCode > 0
      and courseStartDate between @stDate and @endDate 



end

StudActive..WeeklyStudentEventClassArchiv,顯然超過30個字符。

是的-我數41。

重命名表和/或存儲的過程,你應該沒事。 就像JDBC驅動程序或數據庫的局限性一樣。

您的JDBC驅動程序已過期。 更新到更高版本可能有助於解決您的問題。

首先從Sybase網站下載更新的jConnect驅動程序。 然后更新您的代碼以使用新的驅動程序包。 您還需要更改代碼,因為驅動程序的軟件包名稱會隨規范的每個新版本而變化。 (當前軟件包為com.sybase.jdbcx ...)

請參閱程序員參考以獲取更多信息。

暫無
暫無

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

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