我正在连接到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数据库是不可能的。在尝试执行此命令时,我遇到的错误是..。
错误42S02ODBC驱动程序 过程“
ComputeLastCost
”未找到
我知道这个过程是存在的,它是正确的,并且参数名是存在的并且是正确的。有人对我做错了什么有什么建议吗?
发布于 2012-08-21 19:12:28
把评论变成了回答..。
您所使用的登录名的默认数据库是什么?
存储过程是否在同一个数据库中?
如果不是,您需要在您的过程名前面加上数据库名"sharedDB.ComputeLastCost“。
您可以通过isql使用相同的用户/密码登录,然后尝试手动执行。如果你必须做一个使用数据库。(使用数据库sharedDB)在执行它之前,需要将db名称放在前面。
还可以为用户更改默认数据库。这两种方法都应该有效。
https://stackoverflow.com/questions/12058445
复制相似问题