熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

另類:ASP不用DSN訪問數據庫

2013-11-13 10:15:47  來源: .NET編程 

  一個DSN連接需要服務器的系統管理員在服務器上用控制面板中的ODBC工具設置一個DSN或者使用一個第三方的服務器組件讓你的ASP腳本在需要時通過修改注冊表建立DSN
  
  一個DSN連接通常需要的參數有:DSN名用戶名口令例如我們用用戶名student口令magic通過DSNstudent建立連接:
  
   set conntemp=servercreateobject(nnection)
   conntempopen DSN=Student; uid=student; pwd=magic
   set rstemp=conntempexecute(select * from authors)
  
  如果我們沒有DSN該怎麼做呢?
  
  但是我們知道文件名(比如AccessParadoxFoxPro的數據庫)或者數據源名(例如SQLserver的數據庫)這裡有一個方法我們不要DSN就可以訪問數據庫注意你必須知道實際的文件路徑!比如: C:\thatserver\account\nwindmdb
  
  幸好方法 servermappath 可以返回服務器上的地址
  
   set conntemp=servercreateobject(nnection)
  
   cnpath=DBQ= & servermappath(yourtablemdb)
  
   conntempOpen DRIVER={Microsoft Access Driver (*mdb)}; & cnpath
  
   set rstemp=conntempexecute(select * from authors)
  
  <HTML><HEAD>
  
  <TITLE>nwindasp</TITLE>
  
  <body bgcolor=#FFFFFF></HEAD>
  <%
  
  set conntemp=servercreateobject(nnection)
   不用DSN建立連接
  
  DSNtemp=DRIVER={Microsoft Access Driver (*mdb)};
  
  DSNtemp=dsntemp & DBQ= & servermappath(nwindmdb)
  
  conntempOpen DSNtemp
  
   不用DSN建立連接
  set rstemp=conntempexecute(select * from customers where country=germany)
  
  howmanyfields=unt
  
  %>
  <table border=>
  
  <tr>
  <% Put Headings On The Table of Field Names
  
  for i= to howmanyfields %>
  <td><b><%=rstemp(i)name %></B></TD>
  <% next %>
  </tr>
  <% Now lets grab all the records
  
  do while not rstempeof %>
  <tr>
  <% for i = to howmanyfields%>
  <td valign=top><%=rstemp(i)%></td>
  <% next %>
  </tr>
  <% rstempmovenext
  
  loop
  
  rstempclose
  
  set rstemp=nothing
  
  conntempclose
  
  set conntemp=nothing %>
  </table>
  
  </BODY>
  
  </HTML>
  
  下面是典型的DRIVER參數值:
  {Microsoft Access Driver (*mdb)}
  driver=SQL Server; server=
  ^ SQLServer的IP地址
  
  不通過數據源訪問SQL和ACCESS
  Using SQL Server :
  set Conn = ServerCreateObject(ADODBConnection)
  ConnOpen driver=SQL Server; server=server_name; uid=your_UID; pwd=your_PW; database=your_database;
  
  Using Access:
  set Conn = ServerCreateObject(ADODBConnection)
  ConnOpen DRIVER={Microsoft Access Driver (*mdb)}; DBQ=c:\www\db\guestbookmdb
From:http://tw.wingwit.com/Article/program/net/201311/13104.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.