Teď jste offline a čekáte, až se znova připojí internet.

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

Tento článek byl dříve publikován CZ169377
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: 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.
prohlížeč průzkumník web sqlfaqtop
Vlastnosti

ID článku: 169377 - Poslední kontrola: 02/16/2011 00:01:00 - Revize: 10.2

  • kbsqlssrs kbenv kbhowto kbinterop kbtshoot KB169377
Váš názor
;did=1&t=">ript>