百度空间 | 百度首页 
 
查看文章
 
用ASP连接各种数据库的方法
2009年06月20日 星期六 00:44

用ASP连接各种数据库的方法一、ASP的对象存取数据库方法
在ASP中,用来存取数据库的对象统称ADO(Active Data Objects),主要含有三种对象:Connection、Recordset 、Command
Connection:负责打开或连接数据
Recordset:负责存取数据表
Command:负责对数据库执行行动查询命令

二、连接各数据库的驱动程序
连接各数据库可以使用驱动程序,也可以使用数据源,不过我建议大家使用驱动程序,因为使用驱动程序非常方便、简单,而使用数据源比较麻烦。

ODBC链接

适合数据库类型 链接方式
access "Driver={microsoft access driver(*.mdb)};dbq=*.mdb;uid=admin;pwd=pass;"
dBase "Driver={microsoft dbase driver(*.dbf)};driverid=277;dbq=------------;"
Oracle "Driver={microsoft odbc for oracle};server=oraclesever.world;uid=admin;pwd=pass;"
MSSQL server "Driver={sql server};server=servername;database=dbname;uid=sa;pwd=pass;"
MS text "Driver={microsoft text driver(*.txt; *.csv)};dbq=-----;extensions=asc,csv,tab,txt;Persist SecurityInfo=false;"
Visual Foxpro "Driver={microsoft Visual Foxpro driver};sourcetype=DBC;sourceDB=*.dbc;Exclusive=No;"
MySQL "Driver={mysql};database=yourdatabase;uid=username;pwd=yourpassword;option=16386;"


OLEDB链接

适合的数据库类型 链接方式
access "Provider=microsoft.jet.oledb.4.0;data source=your_database_path;user id=admin;password=pass;"
Oracle "Provider=OraOLEDB.Oracle;data source=dbname;user id=admin;password=pass;"
MS SQL Server "Provider=SQLOLEDB;data source=machinename;initial catalog=dbname;userid=sa;password=pass;"
MS text "Provider=microsof.jet.oledb.4.0;data source=your_path;Extended Properties′text;FMT=Delimited′"


而我们在一般情况下使用Access的数据库比较多,在这里我建议大家连接Access数据库使用下面的方法:

dim conn
set conn = server.createobject("adodb.connection")
conn.open = "provider=microsoft.jet.oledb.4.0;" & "data source = " & server.mappath("../db/bbs.mdb")

其中../db/bbs.mdb是你的数据库存放的相对路径!如果你的数据库和ASP文件在同一目录下,你只要这样写就可以了:

dim conn
set conn = server.createobject("adodb.connection")
conn.open = "provider=microsoft.jet.oledb.4.0;" & "data source = " & server.mappath("bbs.mdb")

ASP连接SQL Server数据库代码
2007年02月25日 星期日 10:39

//第一种写法:
MM_conn_STRING = "Driver={SQL Server};server=(local);uid=sa;pwd=;database=infs;"
Set conn = Server.Createobject("ADODB.Connection")
conn.open MM_conn_STRING
SET RS=SERVER.CreateObject("ADOBD.recordset")
SQL="SELECT * FROM TABLE ORDER BY ID DESC"
RS.open SQL,CONN,3,3  

//第二种写法:(DSN连接)

MM_conn_STRING="DSN=BBS;UID=SA;PWD=12345"
Set conn = Server.Createobject("ADODB.Connection")
conn.open MM_conn_STRING
SET RS=SERVER.CreateObject("ADOBD.recordset")
SQL="SELECT * FROM TABLE ORDER BY ID DESC"
RS.open SQL,CONN,3,3   // 3,3是修改、删除、增加开关!

//第三种写法:

MM_conn_STRING_own = "Driver={SQL Server};server=(local);uid=sa;pwd=11111;database=infs;"
Set conn = Server.Createobject("ADODB.Connection")
conn.open MM_conn_STRING_own

//第四种 - 这种方法用在ACCESS中
strconn = "DRIVER=Microsoft Access Driver (*.mdb);DBQ=" _
& Server.MapPath("asp.mdb")
set conn = server.createobject("adodb.connection")
conn.open strconn

JSP 测试你的SQL是否成功
2007年02月25日 星期日 10:39

<%@ page import="java.lang.*, java.io.*, java.sql.*, java.util.*" contentType="text/html;charset=gb2312" %>
  <html>
  <body>
  <% Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
   String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs";
   //pubs 为你的数据库的
   String user="sa";
   String password="admin";
   Connection conn= DriverManager.getConnection(url,user,password);
   Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
   String sql="select job_id,job_desc from jobs";
   ResultSet rs=stmt.executeQuery(sql);
   while(rs.next()) { %>
    您的第一个字段内容为:<%=rs.getString(1)%><br>
    您的第二个字段内容为:<%=rs.getString(2)%><br>
  <% } %>
  <% out.print("数据库操作成功,恭喜你"); %>
  <% rs.close();
   stmt.close();
   conn.close();
  %>
  </body>
  </html>

<%
On Error Resume Next

Dim Data_base
Data_base = 0 '1为MSSQLServer2000 其它为Access

Set Conn=Server.CreateObject("Adodb.Connection")

IF Data_base=1 Then
'-------------------------------------------------------------------------------------
Dim dbconn,dbip,dbdns,dbname,dbuid,dbpwd
dbconn = 1        '链接方式 1为OLEDB链接 2为驱动链接 3为DNS链接
dbip = "(local)"      '数据库所在的IP地址,如果是本地数据库则为:"(local)"
dbdns = "数据源DNS名称"    '数据库DNS名
dbname = "MSOW"      '数据库名称
dbuid = "sa"       '数据库用户名
dbpwd = "********"     '数据库密码
'-------------------------------------------------------------------------------------
Select CASE dbconn
   Case 1
    Conn.Open "Provider=SQLOLEDB;User ;Password="&dbpwd&";Initial Catalog="&dbname&";Data Source="&dbip&";"
   Case 2
    Conn.open "DRIVER={SQL Server};SERVER="&dbip&";UID="&dbuid&";PWD="&dbpwd&";DATABASE="&dbname&""
   Case 3
    Conn.open "DSN="&dbdns&";UID="&dbuid&";PWD="&dbpwd&";DATABASE="&dbname&""
End Select
Else
'-------------------------------------------------------------------------------------
Dim DB_Name,DB_Pwd
DB_Name = "#MSOW#Data.mdb"     '数据库名字
DB_Pwd = ""        '数据库密码,如无密码可不填写,代码自动判断选择语句。
'-------------------------------------------------------------------------------------
IF DB_Pwd="" Then
   Conn.Open "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = "&Server.MapPath(DB_Name)
Else
   Conn.Open "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = "&Server.MapPath(DB_Name)&";Jet OLEDB:Database Password="&DB_Pwd&";"
End IF
End IF

IF Err Then
Err.Clear
Conn.Close
Set Conn = Nothing
Response.Write "<Center><font color=#FF6600><strong>数据库连接出错,请检查连接设置...</strong></font></Center>"
Response.End
End IF

'只读数据
Function GetRSForRead(StrSQL)
Set RS = Server.CreateObject("Adodb.RecordSet")
RS.Source = StrSQL
RS.Open RS.Source,Conn,1,1
Set GetRSForRead = RS
End Function
'只读调用 Set RS = GetRSForRead("Select * From 数据表")

'可写数据
Function GetRSForWrite(StrSQL)
Set RS = Server.CreateObject("Adodb.RecordSet")
RS.Source = StrSQL
RS.Open RS.Source,Conn,3,3
Set GetRSForWrite = RS
End Function
'可写调用 Set RS = GetRSForWrite("Select * From 数据表")
%>



有许多初学者在遇到数据库连接时总是会出问题,然而使用上面的驱动程序只要你的数据库路径选对了就不会出问题了。


类别:asp连接数据库 | 添加到搜藏 | 浏览() | 评论 (0)
 
最近读者:
 
网友评论:
发表评论:
姓 名:
网址或邮箱: (选填)
内 容:
验证码: 请点击后输入四位验证码,字母不区分大小写
      

     

©2009 Baidu