คำถามติดแท็ก sqlcommand

17
การหมดเวลาหมดอายุแล้ว รอบระยะเวลาการหมดเวลาผ่านไปก่อนที่การดำเนินการจะเสร็จสิ้นหรือเซิร์ฟเวอร์ไม่ตอบสนอง คำสั่งถูกยกเลิก
ฉันมีผู้ใช้จำนวนมากบนเว็บไซต์ของฉัน (20,000-60000 ต่อวัน) ซึ่งเป็นเว็บไซต์ดาวน์โหลดสำหรับไฟล์มือถือ ฉันเข้าถึงเซิร์ฟเวอร์ของฉันจากระยะไกล (เซิร์ฟเวอร์ windows 2008-R2) ฉันได้รับข้อผิดพลาด"เซิร์ฟเวอร์ไม่พร้อมใช้งาน"ก่อนหน้านี้ แต่ตอนนี้ฉันเห็นข้อผิดพลาดการหมดเวลาเชื่อมต่อ ฉันไม่คุ้นเคยกับสิ่งนี้ - ทำไมจึงเกิดขึ้นและฉันจะแก้ไขได้อย่างไร ข้อผิดพลาดเต็มอยู่ด้านล่าง: ผิดพลาดเซิร์ฟเวอร์ใน '/' แอพลิเคชัน. การหมดเวลาหมดอายุแล้ว รอบระยะเวลาการหมดเวลาผ่านไปก่อนที่การดำเนินการจะเสร็จสิ้นหรือเซิร์ฟเวอร์ไม่ตอบสนอง คำสั่งถูกยกเลิก คำอธิบาย: มีข้อยกเว้นที่ไม่สามารถจัดการได้เกิดขึ้นระหว่างการดำเนินการตามคำขอเว็บปัจจุบัน โปรดตรวจสอบการติดตามสแต็กสำหรับข้อมูลเพิ่มเติมเกี่ยวกับข้อผิดพลาดและที่มาในรหัส รายละเอียดข้อยกเว้น: System.Data.SqlClient.SqlException: การหมดเวลาหมดอายุแล้ว รอบระยะเวลาการหมดเวลาผ่านไปก่อนที่การดำเนินการจะเสร็จสิ้นหรือเซิร์ฟเวอร์ไม่ตอบสนอง คำสั่งถูกยกเลิก ข้อผิดพลาดของแหล่งที่มา: ข้อยกเว้นที่ไม่สามารถจัดการได้ถูกสร้างขึ้นระหว่างการดำเนินการตามคำขอเว็บปัจจุบัน ข้อมูลเกี่ยวกับที่มาและตำแหน่งของข้อยกเว้นสามารถระบุได้โดยใช้การติดตามสแต็กข้อยกเว้นด้านล่าง กองติดตาม: [SqlException (0x80131904): การหมดเวลาหมดอายุแล้ว รอบระยะเวลาการหมดเวลาผ่านไปก่อนที่การดำเนินการจะเสร็จสิ้นหรือเซิร์ฟเวอร์ไม่ตอบสนอง คำสั่งถูกยกเลิก] System.Data.SqlClient.SqlConnectionOnError (ข้อยกเว้น SqlException, บูลีน breakConnection) +404 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning () +412 System.Data.SqlClient.TdsParser.RunBehavior , SqlCommand cmdHandler, …

3
SqlConnection จะเข้าร่วมใน TransactionScope Ambient โดยอัตโนมัติอย่างไร
SqlConnection มีความหมายว่าอะไร "เกณฑ์" ในการทำธุรกรรม? มันหมายความว่าคำสั่งที่ฉันใช้ในการเชื่อมต่อจะมีส่วนร่วมในการทำธุรกรรมหรือไม่? ถ้าเป็นเช่นนั้นภายใต้สถานการณ์ใด SqlConnection จะเข้าร่วมโดยอัตโนมัติในธุรกรรม TransactionScope แวดล้อม? ดูคำถามในความคิดเห็นของรหัส การเดาของฉันต่อคำตอบของคำถามแต่ละข้อนั้นตามด้วยคำถามแต่ละข้อในวงเล็บ สถานการณ์ที่ 1: การเปิดการเชื่อมต่อภายในขอบเขตการทำธุรกรรม using (TransactionScope scope = new TransactionScope()) using (SqlConnection conn = ConnectToDB()) { // Q1: Is connection automatically enlisted in transaction? (Yes?) // // Q2: If I open (and run commands on) a second connection now, …

5
วิธีการส่งผ่านพารามิเตอร์ค่าของตารางไปยังกระบวนงานที่เก็บไว้จากรหัส. net
ฉันมีฐานข้อมูล SQL Server 2005 ในขั้นตอนไม่กี่ฉันมีพารามิเตอร์ตารางที่ฉันส่งไปยัง proc ที่เก็บไว้เป็นnvarchar(คั่นด้วยเครื่องหมายจุลภาค) และแบ่งภายในเป็นค่าเดียว ฉันเพิ่มลงในรายการพารามิเตอร์คำสั่ง SQL ดังนี้: cmd.Parameters.Add("@Logins", SqlDbType.NVarchar).Value = "jim18,jenny1975,cosmo"; ฉันต้องย้ายฐานข้อมูลไปยัง SQL Server 2008 ฉันรู้ว่ามีค่าพารามิเตอร์ของตารางและฉันรู้วิธีใช้พวกเขาในขั้นตอนการจัดเก็บ แต่ฉันไม่ทราบวิธีการส่งรายการไปยังรายการพารามิเตอร์ในคำสั่ง SQL ไม่มีใครรู้ไวยากรณ์ที่ถูกต้องของParameters.Addกระบวนการหรือไม่ หรือมีวิธีอื่นในการส่งผ่านพารามิเตอร์นี้

12
ปลอดภัยไหมที่จะไม่กำหนดพารามิเตอร์แบบสอบถาม SQL เมื่อพารามิเตอร์ไม่ใช่สตริง
ในแง่ของการแทรก SQLฉันเข้าใจดีถึงความจำเป็นในการstringกำหนดพารามิเตอร์พารามิเตอร์ นั่นเป็นหนึ่งในเทคนิคที่เก่าแก่ที่สุดในหนังสือเล่มนี้ แต่เมื่อใดที่จะมีเหตุผลที่จะไม่กำหนดพารามิเตอร์SqlCommand? ประเภทข้อมูลใดบ้างที่ถือว่า "ปลอดภัย" ที่จะไม่กำหนดพารามิเตอร์ ตัวอย่างเช่นฉันไม่คิดว่าตัวเองอยู่ใกล้ผู้เชี่ยวชาญใน SQL แต่ฉันไม่สามารถนึกถึงกรณีใด ๆ ที่อาจเสี่ยงต่อการฉีด SQL เพื่อยอมรับboolหรือintและเพียงแค่เชื่อมต่อเข้ากับแบบสอบถามโดยตรง สมมติฐานของฉันถูกต้องหรืออาจทำให้เกิดช่องโหว่ด้านความปลอดภัยขนาดใหญ่ในโปรแกรมของฉัน? เพื่อความกระจ่างคำถามนี้ถูกแท็ก ค#ซึ่งเป็นภาษาที่พิมพ์ยาก เมื่อผมบอกว่า "พารามิเตอร์" public int Query(int id)คิดว่าสิ่งที่ต้องการ

8
ฉันต้องปิด () การเชื่อมต่อ SQLC ก่อนที่จะถูกกำจัดหรือไม่?
สำหรับคำถามอื่น ๆ ของฉันที่นี่เกี่ยวกับ Disposable objectsเราควรเรียก Close () ก่อนสิ้นสุดบล็อกการใช้งานหรือไม่ using (SqlConnection connection = new SqlConnection()) using (SqlCommand command = new SqlCommand()) { command.CommandText = "INSERT INTO YourMom (Amount) VALUES (1)"; command.CommandType = System.Data.CommandType.Text; connection.Open(); command.ExecuteNonQuery(); // Is this call necessary? connection.Close(); }

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.