วิธีการเข้าถึง SQL Server ใน Active Server Pages

การแปลบทความ การแปลบทความ
หมายเลขบทความ (Article ID): 169377 - ผลิตภัณฑ์ที่เกี่ยวข้องในบทความนี้
ขยายทั้งหมด | ยุบทั้งหมด

เนื้อหาบนหน้านี้

สรุป

บทความนี้อธิบายวิธีการสร้างการเชื่อมต่อกับ SQL เซิร์ฟเวอร์ในสคริปต์การ ASP โดยใช้ ActiveX Data Objects (ADO), ในขณะที่ถ่าย ข้อดีของการเชื่อมต่อร่วมกันคุณลักษณะของ ODBC 3.0



ข้อมูลเพิ่มเติม

การทำพูลเก็บการเชื่อมต่อ

เปิดใช้งานการทำพูลเก็บการเชื่อมต่อ ODBC
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการทำพูลเก็บการเชื่อมต่อ และ สำหรับคำแนะนำเกี่ยวกับวิธีการเปิดใช้งานคุณลักษณะนี้ ให้คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
164221วิธีการเปิดใช้งานการเชื่อมต่อร่วมกันในโปรแกรมประยุกต์ ODBC

DSN ของ ODBC

โดยใช้ผู้ดูแล ODBC สร้างชื่อแหล่งข้อมูลของระบบ (DSN) บนคอมพิวเตอร์ที่เป็นเซิร์ฟเวอร์ข้อมูลทางอินเทอร์เน็ตของ Microsoft (IIS) การติดตั้ง ระบุแอตทริบิวต์การเชื่อมต่อหนึ่งครั้ง และนำมาใช้ใน ทุกหน้า ตัวอย่างเช่น ในเหตุการณ์Session_OnStartในแฟ้ม Global.asa กำหนดแอตทริบิวต์การเชื่อมต่อเป็น:
   Session("ConnectionString") =
   "dsn=SQLSysDSN;uid=<username>;pwd=<strong password>;DATABASE=pubs;APP=ASP Script"				
ตรวจสอบให้แน่ใจว่า เงื่อนไขต่อไปนี้ทั้งหมดเป็นจริง:
  • ไม่มีเลือกกล่องการเชื่อมต่อที่เชื่อถือได้ในคำนิยามของ dsn ของระบบ
  • โหมดความปลอดภัยของ SQL Server ไม่ใช่แบบรวมของ Windows NT
  • ในแอตทริบิวต์การเชื่อมต่อ uid ไม่ว่างเปล่า
มิฉะนั้น การเชื่อมต่อกับ SQL Server อาจล้มเหลว และคุณ ได้รับข้อความแสดงข้อผิดพลาดต่อไปนี้:

Microsoft ผู้ให้บริการ OLE DB สำหรับข้อผิดพลาดของโปรแกรมควบคุม ODBC '80004005'
[Microsoft][ODBC SQL โปรแกรมควบคุมเซิร์ฟเวอร์] [SQL Server] ล็อกที่ล้มเหลวผู้ใช้: _
เหตุผล: ไม่ได้กำหนดเป็นแบบ ผู้ใช้ที่ถูกต้องของการเชื่อมต่อ SQL Server ที่เชื่อถือได้

Global.asa

การใช้แฟ้ม Global.asa หรือไม่ก็ แทน รายการ โดยทั่วไปจะทำในเรื่องนี้สามารถวางแฟ้มในหน้าแรกที่ถูกเรียกโดยการ แอพลิเคชัน สมมติว่าสคริปต์ ASP ที่อยู่ในโฟลเดอร์ที่ไม่ได้ กำหนดเป็นไดเรกทอรีเสมือนในโปรแกรม จัดการการบริการของอินเทอร์เน็ต แต่อยู่ต่ำกว่า เรกทอรีเสมือนที่อื่น ตัวแปรเซสชันที่มีแฟ้ม Global.asa ใน และ ข้อกำหนดของ DSN ต้องถูกเก็บไว้ในไดเรกทอรีเสมือน ถ้าไม่ คุณได้รับ ข้อความข้อผิดพลาดต่อไปนี้:

Microsoft OLE DB ผู้ให้บริการสำหรับข้อผิดพลาดของโปรแกรมควบคุม ODBC '80004005'
[Microsoft][ODBC โปรแกรมควบคุม แหล่งข้อมูลการจัดการ] ไม่พบชื่อและหมายเลข
โปรแกรมควบคุมเริ่มต้นที่ระบุ

การเชื่อมต่อในสคริปต์ ASP

ประโยชน์ของการเชื่อมต่อร่วมกันโดยการเปิด และปิดการ การเชื่อมต่อไปยังฐานข้อมูลในทุก ๆ หน้าของเซิร์ฟเวอร์ที่ใช้งานอยู่ เมื่อต้องการเปิดการเชื่อมต่อ พิมพ์ใบแจ้งยอดต่อไปนี้ในการ<Body>ส่วนของหน้า: </Body>
   <%
   Set OBJdbConnection = Server.CreateObject("ADODB.Connection")
   OBJdbConnection.Open Session("ConnectionString")   %>				
เมื่อต้องการปิดการเชื่อมต่อ ทำต่อไปนี้ทันทีหลังจาก แท็ก:
   <%
   OBJdbConnection.Close
   Set OBJdbConnection = Nothing
   %>				
คุณอาจได้รับข้อความแสดงข้อผิดพลาดสองต่อไปนี้ถ้าการเชื่อมต่อ ตั้งค่าไม่ถูกต้องได้ตามที่อธิบายไว้ก่อนหน้าในบทความนี้:

ผู้ให้บริการ Microsoft OLE DB สำหรับโปรแกรมควบคุม ODBC ข้อผิดพลาด '80004005'
[Microsoft][ODBC SQL เซิร์ฟเวอร์โปรแกรมควบคุม][DBNMPNTW]การเชื่อมต่อ ใช้งานไม่ได้นั้น
- หรือ -

ผู้ให้บริการ Microsoft OLE DB สำหรับ ODBC ข้อผิดพลาดของโปรแกรมควบคุม '80004005'
[Microsoft][ODBC SQL เซิร์ฟเวอร์โปรแกรมควบคุม]การสื่อสาร ความล้มเหลวในการเชื่อมโยง

ต่อไปนี้เป็นตัวอย่างโปรแกรมประยุกต์ที่ประกอบด้วยการ Global.asa และแฟ้ม Authors.asp โปรแกรมประยุกต์ตัวอย่างนี้จะส่งกลับ 4 คอลัมน์และระเบียนทั้งหมดในตารางpubsมีชื่อผู้เขียน

หมายเหตุ คุณต้องเปลี่ยน UID<username>และ pwd =<strong password="">เมื่อต้องการค่าที่ถูกต้องก่อนที่คุณเรียกใช้รหัสนี้ ทำให้ ดูให้แน่ใจว่า UID มีสิทธิ์ที่เหมาะสมสำหรับการดำเนินการนี้ในการ ฐานข้อมูล

Global.asa</strong></username>
   <SCRIPT LANGUAGE=VBScript RUNAT=Server>
   Sub Session_OnStart
   Session("ConnectionString") =
   "DSN=SQLSysDSN;UID=<username>;PWD=<strong password>;DATABASE=pubs;APP=ASP script"
      Session("ConnectionTimeout") = 15
      Session("CommandTimeout") = 30
   End Sub

   Sub Session_OnEnd

   End Sub
   </SCRIPT>				
Authors.asp
   <HTML>
   <HEAD>
   <TITLE>All Authors</TITLE>
   </HEAD>
   <BODY BGCOLOR="#FFFFFF">

   <% Set OBJdbConnection = Server.CreateObject("ADODB.Connection")
   OBJdbConnection.ConnectionTimeout = Session("ConnectionTimeout")
   OBJdbConnection.CommandTimeout = Session("CommandTimeout")
   OBJdbConnection.Open Session("ConnectionString")
   Set SQLStmt = Server.CreateObject("ADODB.Command")
   Set RS = Server.CreateObject ("ADODB.Recordset")
   %>

   <p>
   <table border="0" bordercolor="#000000">
   <%
   SQLStmt.CommandText = "select * from authors"
   SQLStmt.CommandType = 1
   Set SQLStmt.ActiveConnection = OBJdbConnection
   RS.Open SQLStmt

   Do While Not RS.EOF
   %>
   <TR>
      <TD Width = 150 ALIGN=LEFT>
         <FONT SIZE=+1>
         <%= RS("au_id") %>
         </FONT></TD>
      <TD></TD>
         <TD Width = 150 ALIGN=LEFT>
         <FONT SIZE=+1>
         <%= RS("au_lname")  %>
         </FONT></TD>
      <TD Width = 150 ALIGN=LEFT>
         <FONT SIZE=+1>
         <%= RS("au_fname")  %>
         </FONT></TD>
      <TD Width = 150 ALIGN=LEFT>
         <FONT SIZE=+1>
         <%= RS("phone")  %>
         </FONT></TD>
   </TR>
   <%
   RS.MoveNext
   Loop
   %>
   </table>
   <hr>
   <p>
   </BODY>
   <% OBJdbConnection.Close
   Set OBJdbConnection = Nothing
   %>
   </HTML>				
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ Active Server Pages ให้ดูแผนการทำงาน โดยโปรแกรมติดตั้ง ASP บนเซิร์ฟเวอร์ IIS

คุณสมบัติ

หมายเลขบทความ (Article ID): 169377 - รีวิวครั้งสุดท้าย: 28 มิถุนายน 2556 - Revision: 5.0
ใช้กับ
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 7.0 Standard Edition
  • Microsoft SQL Server 6.5 Standard Edition
  • Microsoft SQL Server 6.0 Standard Edition
  • Microsoft SQL Server 4.21a Standard Edition
  • Microsoft Internet Information Server 3.0
  • Microsoft Internet Information Services 5.0
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL 2005 Server Enterprise
  • Microsoft SQL 2005 Server Workgroup
Keywords: 
kbsqlsetup kbenv kbhowto kbinterop kbtshoot kbmt KB169377 KbMtth
แปลโดยคอมพิวเตอร์
ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ
ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:169377

ให้ข้อเสนอแนะ

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com