Jak přistupovat k serveru SQL Server ze stránek ASP

Překlady článku Překlady článku
ID článku: 169377
Tento článek byl dříve publikován CZ169377
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Souhrn

Tento článek popisuje postup při navazování připojení k serveru SQL Server ze skriptu ASP pomocí rozhraní ActiveX Data Objects (ADO) s využitím funkce sdružování připojení rozhraní ODBC 3.0.



Další informace

Sdružování připojení

Povolte funkci sdružování připojení rozhraní ODBC.
Další informace o sdružování připojení a pokyny pro povolení této funkce získáte v následujícím článku znalostní báze Microsoft Knowledge Base:
164221 Povolení sdružování připojení v aplikaci s rozhraním ODBC (Tento článek může obsahovat odkazy na anglický obsah (dosud nepřeložený).)

Název datového zdroje rozhraní ODBC

Pomocí programu ODBC Administrator vytvořte název systémového datového zdroje (System DSN) v počítači s nainstalovaným serverem Microsoft Internet Information Server (IIS). Určete atribut připojení a použijte jej na každé stránce. Například pro událost Session_OnStart souboru Global.asa definujte atribut připojení:
   Session("ConnectionString") =
   "dsn=SQLSysDSN;uid=<jméno uživatele>;pwd=<silné heslo>;DATABASE=pubs;APP=ASP Script"				
Přesvědčte se, zda jsou splněny všechny následující podmínky:
  • V definici názvu systémového zdroje dat není zaškrtnuté políčko Trusted Connection (Důvěryhodné připojení).
  • Režim zabezpečení serveru SQL Server není nastaven na možnost Windows NT Integrated.
  • Hodnota UID atributu připojení není prázdná.
V opačném případě může dojít k následující chybě serveru SQL Server:

Microsoft OLE DB provider for ODBC Drivers error '80004005' (Chyba zprostředkovatele Microsoft OLE DB pro ovladače rozhraní ODBC: 80004005)
[Microsoft][ODBC SQL Server Driver][SQL Server]Login failed- User: ([Microsoft][ODBC SQL Server Driver][SQL Server]Přihlášení se nezdařilo – Uživatel:) _
Reason: (Příčina:) Not defined as a valid user of a trusted SQL Server connection. (Uživatel není definován jako platný uživatel důvěryhodného připojení serveru SQL Server.)

Soubor Global.asa

Použití souboru Global.asa je nepovinné. Položky zapsané v tomto souboru je možné zadat na první stránku volanou aplikací. Za předpokladu, že skripty ASP jsou uloženy ve složce, která není v programu Internet Service Manager definována jako virtuální adresář, ale jako podřízený adresář jiného virtuálního adresáře, musí být soubor Global.asa obsahující proměnné relace a definice názvů datového zdroje uložen ve virtuálním adresáři. V opačném případě se zobrazí následující chybová zpráva:

Microsoft OLE DB Provider for ODBC Drivers error '80004005' (Chyba zprostředkovatele Microsoft OLE DB pro ovladače rozhraní ODBC: 80004005)
[Microsoft][ODBC Driver Manager] Data source name not found and no
default driver specified ([Microsoft][ODBC Driver Manager] Název datového zdroje nebyl nalezen a nebyl určen výchozí ovladač.)

Připojení ve skriptu ASP

Funkci sdružování připojení lze využít při otevírání a ukončování připojení k databázi na každé stránce ASP. Pokud chcete otevřít připojení, zadejte v oddílu <Body> dané stránky následující příkaz:
   <%
   Set OBJdbConnection = Server.CreateObject("ADODB.Connection")
   OBJdbConnection.Open Session("ConnectionString")   %>				
Pokud chcete ukončit připojení, zadejte následující příkaz bezprostředně za značku </Body>:
   <%
   OBJdbConnection.Close
   Set OBJdbConnection = Nothing
   %>				
Pokud není nastavení připojení definováno přesně podle pokynů výše, může docházet k následujícím chybám:

Microsoft OLE DB Provider for ODBC Drivers error '80004005' (Chyba zprostředkovatele Microsoft OLE DB pro ovladače rozhraní ODBC: 80004005)
[Microsoft][ODBC SQL Server Driver][DBNMPNTW]Connection broken. ([Microsoft][ODBC SQL Server Driver][DBNMPNTW]Připojení bylo přerušeno.)
nebo

Microsoft OLE DB Provider for ODBC Drivers error '80004005' (Chyba zprostředkovatele Microsoft OLE DB pro ovladače rozhraní ODBC: 80004005)
[Microsoft][ODBC SQL Server Driver]Communication link failure ([Microsoft][ODBC SQL Server Driver]Chyba komunikace)

Dále je uvedena ukázková aplikace obsahující soubory Global.asa a Authors.asp. Tato vzorová aplikace vrací čtyři sloupce a všechny záznamy tabulce pubs nazvané authors.

Poznámka: Před spuštěním tohoto kódu je třeba hodnoty UID <jméno uživatele> a pwd =<silné heslo> nahradit platnými údaji. Ujistěte se, zda má zadaný uživatel příslušné oprávnění pro provedení této akce s databází.

Global.asa
   <SCRIPT LANGUAGE=VBScript RUNAT=Server>
   Sub Session_OnStart
   Session("ConnectionString") =
   "DSN=SQLSysDSN;UID=<jméno uživatele>;PWD=<silné heslo>;DATABASE=pubs;APP=ASP script"
      Session("ConnectionTimeout") = 15
      Session("CommandTimeout") = 30
   End Sub

   Sub Session_OnEnd

   End Sub
   </SCRIPT>				
Authors.asp
   <HTML>
   <HEAD>
   <TITLE>Všichni autoři</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>				
Další informace o stránkách Active Server Pages (ASP) naleznete v dokumentaci, která je součástí instalačního programu podpory technologie ASP na serveru IIS.

Odkazy

Nenalezli jste odpověď na svůj dotaz? Navštivte diskusní skupiny věnované serveru Microsoft SQL Server na následujícím webu:
Diskusní skupiny věnované serveru Microsoft SQL Server
Máte další poznámky k tomuto nebo jiným článkům znalostní báze týkajícím se serveru Microsoft SQL Server? Pošlete nám svůj názor na adresu Q169377.

Vlastnosti

ID článku: 169377 - Poslední aktualizace: 16. února 2011 - Revize: 10.2
Klíčová slova: 
kbsqlssrs kbenv kbhowto kbinterop kbtshoot KB169377

Dejte nám zpětnou vazbu

 

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