我遇到以下问题:
我写了一个win服务程序,将数据从一个源(OPC)传输到SQL数据库。 在数据库中,我创建了3个存储过程(所有数据将在3个表中分开)。
开始服务后,一个SP将丢失 - 以某种方式删除,然后我得到“无法找到存储过程”。
如果我在服务运行期间创建此SP - 一切正常,但重启后会再次删除。
SP的所有3个电话都是相同的:
using (SqlConnection myConnection = new SqlConnection(SQL_CONNSTRING))
{
myConnection.Open();
SqlCommand myCommand = new SqlCommand("dbo.SP_name", myConnection);
myCommand.CommandType = CommandType.StoredProcedure;
myCommand.Parameters.Add("@Line", SqlDbType.Int, 1).Value = line;
object idr = myCommand.ExecuteScalar();
myConnection.Close();
}
SP删除大约发生在ExecuteScalar()
有人可以解释我为什么会这样,我该如何避免呢?
我已经搜索了一些关于它的信息,但搜索“无法找到SP”只会让我看到SP是presenrt的情况。我的遗嘱将被删除,并且没有找到。
upd:描述的类似情况,没有解决方案:http://www.sql-questions.com/microsoft/SQL-Server-Reporting-Services/31612416/stored-procedure-getting-deleted.aspx
UPD2:已解决
我的错 - SP已从另一个SP中删除。
Trace帮助我找到它发生的那一刻[感谢破折号 - 阅读问题下面的评论],以及它发生的SP。
不知何故,第二个SP包含了用于创建我需要的SP的第一行脚本。
因为第二个SP很少被调用,但肯定会在开始时调用一次 - 娱乐后一切似乎都可以。
抱歉这个愚蠢的问题,感谢所有试图帮助我的人! :)
答案 0 :(得分:0)