2014-12-31 2 views
0
try 
    { 
     string strSQLConnString = GetConnectionString(); 
     using (SqlConnection myConnection = new SqlConnection(strSQLConnString)) 
     { 
      SqlCommand myCommand = new SqlCommand("spFortesting", myConnection); 
      myCommand.CommandType = CommandType.StoredProcedure; 


      myCommand.Parameters.AddWithValue("@Param1", varParam1); 
      myCommand.Parameters.AddWithValue("@Param2", varParam2); 
      myCommand.Parameters.AddWithValue("@Param3", varParam3); 
      myCommand.Parameters.AddWithValue("@Param4", varParam4); 
      myConnection.Open(); 

      using (SqlDataReader myReader = myCommand.ExecuteReader()) 
      { 
       dt = new DataTable(); 
       if (myReader.HasRows) 
       { 
        dt.Load(myReader); 
       } 

       myReader.Close(); 
      } 

      myConnection.Close(); 
     } 
    } 
    catch (Exception ex) 
    { 
     throw ex; 
    } 

я получаю исключение, как «Сообщение об исключении«не удалось найти хранимую процедуру „spFortesting“.»не удается получить доступ к существующей таблице из WCF кодекса

  1. Доступ ко всем остальным существующим хранимым процедурам.
  2. Строка соединения является общей для всех других вызовов SQL в приложении.
  3. «spFortesting» недавно создан StoredProc.
  4. владелец «ДБО» Я попытался с dbo.spname, а
  5. Пока я могу получить доступ к ХП и таблиц, которые только что созданные с помощью SQL Mgmt Studio, и те же данные, что и в web.config, но не через код.

Что могло быть неправильно.

Спасибо заранее,

Amit

+0

Это может показаться довольно очевидным, но я бы дважды проверял, что строка подключения соответствует серверу и базе данных в SSMS - выводит сообщение в приложении с помощью строки подключения. – SQLDiver

+0

да, оба совпадения строк соединения, те же учетные данные, тот же самый дБ, тот же сервер –

+0

Соответствуют ли подписи - одинаковое количество параметров, одинаковых типов? – SQLDiver

ответ

0

Моя ошибка! когда я смотрел его очень близко, я обнаружил, что строки подключения не совпадают, строка подключения была взята из другого аналогичного звукового виртуального каталога. System.Configuration.Configuration rootWebConfig = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration (@ "\ AppName"); и мое приложение на развернутом сервере было AppNameNew по некоторым причинам, связанным с неизвестностью, с возрастом. С именем AppName была другая виртуальная папка, и ее web.config указывал на другую базу данных. Извините за причиненные неудобства.

Cheers !!! и с новым годом

+0

Не волнуйтесь, что-то подобное случилось со мной в прошлом. Принял меня, чтобы диагностировать и исправить. Вот почему я всегда рекомендую распечатывать переменные или отслеживать их с помощью отладчика, чтобы увидеть, содержат ли они значения, которые они «должны». – SQLDiver

Смежные вопросы