调用 Sybase SP,错误"SP not found"



我正在连接到Sybase 9数据库以检索数据。我可以使用ODBC连接查询数据库,但调用存储过程时遇到问题。这个程序大概是6-7年前写的。这就是我必须执行的存储过程。

OdbcCommand itemWeightAve = conn.CreateCommand();
itemWeightAve.CommandText = "ComputeLastCost";
itemWeightAve.CommandType = CommandType.StoredProcedure;
itemWeightAve.Parameters.AddWithValue("@OwnerId", "BananaHammock");//company number
itemWeightAve.Parameters.AddWithValue("@InventoryId", InventoryNumberHere);//inventory id from query results
itemWeightAve.Parameters.AddWithValue("@EndDate", EndDateHere);//end date from query results
OdbcDataReader itemAveReader = itemWeightAve.ExecuteReader();

我对Sybase或ODBC不是很熟悉,而且这些人使用的版本非常旧,不再受官方支持。升级Sybase数据库是不可能的。我在尝试执行此命令时遇到的错误是…

错误[42S02][Sybase][ODBC驱动程序][Adaptive Server Anywhere]

未找到过程"ComputeLastCost"

我知道过程存在,它的类型正确,参数名称存在,并且类型正确。有人对我做错了什么有什么建议吗?

将注释转换为答案。。。

您正在使用的登录名的默认数据库是什么?

存储过程是否在同一个数据库中?

如果没有,您需要在过程名称前面加上数据库名称"sharedDB.ComputerLastCost".

您可以通过isql使用相同的用户/密码登录并尝试手动执行来检查这一点。如果在执行之前必须执行use数据库(即use database sharedDB),则需要将数据库名称放在前面。

您还可以更改用户的默认数据库。无论哪种方式都应该有效。

最新更新