Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

C#, sp_executesql и неправилен синтаксис

Забелязвам, че не сте задали CommandType на StoredProcedure... Не знам дали това е причината за проблема ви или не:

cmd.CommandType = CommandType.StoredProcedure;

Самият аз съм правил това толкова много пъти, че не мога да преброя.

Съвет за активиране на паметта ви, когато това хвърля изключения следващия път:

Отворете SQL Query Profiler, докато изпълнявате приложението си. Когато всяка команда се изпълни, тя показва SQL, генериран и изпълнен от страната на сървъра. Ако генерираният SQL започва с sp_executesql последвано от вашата заявка, тогава тя се изпълнява като обикновена заявка - т.е. cmd.CommandType = CommandType.Text , ако започва с exec , шансовете са, че се изпълнява като съхранена процедура. Уверете се, че получавате правилния генериран SQL за типа заявка, която се опитвате да изпълните.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Създаване на индекс в SQL изглед с оператори UNION? Ще подобри ли наистина производителността?

  2. Не можете да използвате временна колона в клаузата where?

  3. Извикване на съхранена процедура с XML тип данни

  4. Sql сървър 2008 принуждава датата от дд/мм/гггг на дд/мм/гггг

  5. Sqlcmd:Грешка:Microsoft SQL Server Native Client 10.0:Грешка в комуникационната връзка