Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

C #, sp_executesql và Cú pháp không chính xác

Tôi nhận thấy rằng bạn chưa đặt CommandType thành StoredProcedure ... Tôi không biết đó có phải là nguyên nhân gây ra sự cố của bạn hay không:

cmd.CommandType = CommandType.StoredProcedure;

Tôi đã làm điều này rất nhiều lần bản thân tôi không thể đếm được.

Mẹo để kích hoạt bộ nhớ của bạn khi điều này xảy ra ngoại lệ vào lần tiếp theo:

Mở Hồ sơ truy vấn SQL trong khi bạn đang chạy ứng dụng của mình. Khi mỗi lệnh thực thi, nó sẽ hiển thị SQL được tạo và chạy ở phía máy chủ. Nếu SQL được tạo bắt đầu bằng sp_executesql theo sau là truy vấn của bạn, sau đó nó được chạy như một truy vấn thông thường - tức là cmd.CommandType = CommandType.Text , nếu nó bắt đầu bằng exec , rất có thể nó được chạy dưới dạng proc được lưu trữ. Đảm bảo rằng bạn đang nhận được SQL chính xác được tạo cho loại truy vấn mà bạn đang cố gắng chạy.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ghi nhật ký truy cập bảng bằng SQL Server Profiler

  2. Truyền một biến vào mệnh đề IN trong một hàm SQL?

  3. SQL Chọn giá trị bên trong dấu ngoặc đơn

  4. Các cải tiến của Service Broker trong SQL Server 2016

  5. Lỗi máy chủ SQL 4104:Không thể liên kết số nhận dạng nhiều phần.