enthusiasm 发布留言 2006-7-31 20:29
provider=microsoft.jet.oledb……数据库连接方法的疑惑?
这一种方法在学校的机器上管用,在我的机器上不管用:
<%
set conn=server.createobject("adodb.connection")
conn.open "driver={microsoft access driver (*.mdb)};dbq="&server.mappath("msg_data/message.mdb")
%>
这种正好相反,在学校不管用,在我的机器上却管用。
<%
set conn=Server.CreateObject("ADODB.Connection")
conn.Open "provider=microsoft.jet.oledb.4.0;data source="&_Server.MapPath("/temp/db1.mdb")
%>
这是为什么呀,两种到底有什么区别呢?上网查询了一下也没查出来结果。
有人能告诉我吗??谢谢呀。
enthusiasm 发布留言 2006-7-31 22:34
Microsoft VBScript 编译器错误 错误 '800a03f6'
缺少 'End'
/iisHelp/common/500-100.asp,行242
Microsoft OLE DB Provider for ODBC Drivers 错误 '80004005'
[Microsoft][ODBC 驱动程序 管理器] 未发现数据源名称并且未指定默认驱动程序
/myasp/dsn/conn.asp,行3
这是第一种的错误。
bestpardon 发布留言 2006-8-1 14:36
驱动版本的问题吧。。。。。。。
labid 发布留言 2006-8-1 17:03
换一种版本驱动方式````
labid 发布留言 2006-8-1 17:06
很多朋友对ASP连接ACCESS数据库的方法不太熟悉.
下面把几种方法列举出来,需要用的时候或者自己的程序出现问题的时候与这些源程序对照一下,说不定会有所启发.
1.
set dbconnection=Server.CREATEOBJECT("ADODB.CONNECTION")
DBPath = Server.MapPath("customer.mdb")
dbconnection.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & DBPath
SQL="select * from auth where id="" & user_id &"""
SET uplist=dbconnection.EXECUTE(SQL)
2.
set dbconnection=Server.CreateObject("ADODB.Connection")
DBPath = Server.MapPath("customer.mdb")
dbconnection.Open "provider=microsoft.jet.oledb.4.0;data source="&dbpath
SQL="select * from auth where id="" & user_id &"""
SET uplist=dbconnection.EXECUTE(SQL)
3.
DBPath = Server.MapPath("customer.mdb")
set session("rs")=Server.CreateObject("ADODB.Recordset")
" rs=Server.CreateObject("ADODB.Recordset")
connstr="provider=microsoft.jet.oledb.4.0;data source="&dbpath
SQL="select * from auth where id="" & user_id &"""
session("rs").Open sql,connstr,1,3
4.
建odbc源xxx
set conn=server.createobject("Adodb.connection")
conn.open "DSN=xxx;UID=;PWD=;Database=customer
ASP中五种连接数据库的方法
第一种 - 这种方法用在ACCESS中最多
strconn = "DRIVER=Microsoft Access Driver (*.mdb);DBQ=" & Server.MapPath("aspfree.mdb")
set conn = server.createobject("adodb.connection")
conn.open strconn
第二种-这种方法用在SQL SERVER中多
strconn = "Driver={SQL erver};Description=sqldemo;SERVER=127.0.0.1;UID=LoginID;&_
PWD=Password;DATABASE=Database_Name
set conn = server.createobject("adodb.connection")
conn.open strconn
第三种
strconn="Driver={MicrosoftAccessDriver(*.mdb)};" &_
"DBQ=F:\Inetpub\wwwroot\somedir\db1.mdb;DefaultDir=f:\Inetpub\wwwroot\somedir;
&_ uid=LoginID;" &_
"pwd=Password;DriverId=25;FIL=MSAccess;"
set conn = server.createobject("adodb.connection")
conn.open strconn
第四种运用系统数据源
The following uses a Data Source Name:
set conn = server.createobject("adodb.connection")
conn.open "Example"
第五种运用ODBC数据源,前提是你必须在控制面板的ODBC中设置数据源
set rs = server.createobject("adodb.recordset")
rs.open "tblname", "DSNName", 3, 3
我补充一下,现在有的朋友用DW开发asp的程序,在本地调试一切正常发代是传到网上就不行了,这是因为数据库连接出了问题,我举一个例子,范例网址在“D:\54MASTER”数据库在根文件夹下的data下名字叫做user.mdb.
代码如下:
<%
' FileName="Connection_ado_conn_string.htm"
' Type="ADO"
' DesigntimeType="ADO"
' HTTP="false"
' Catalog=""
' Schema=""
Dim MM_conn_STRING
'下面的是在远程调用的代码,本例是上传时的设置所以把下面这句注释调。
'MM_conn_STRING = "Driver={Microsoft Access Driver (*.mdb)};DBQ= d:/54master/data/user.mdb"
'在本地调试时可以取消上面的注释,将下面这句注释掉,就可以了。
MM_conn_STRING = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& Server.Mappath("/data/user.mdb")
'过滤SQL非法字符
Rem 过滤SQL非法字符
function checkStr(str)
if isnull(str) then
checkStr = ""
exit function
end if
checkStr=replace(str,"'","")
checkStr=replace(str," ","")
checkStr=replace(str,"(","")
end function
%>
enthusiasm 发布留言 2006-8-1 20:33
谢谢楼上的几位朋友的关注。
gdk2006 发布留言 2006-8-2 13:16
那些专门做网站肯定不会出这些数据库链接问题啊!
好像一般用OLEDB就不会错!
gdk2006 发布留言 2006-8-2 13:18
一般都写相对路径的是不是啊!
<%
db="数据库文件/*.mdb"
Set conn = Server.CreateObject("ADODB.Connection")
conn.open="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(""&db&"")
'response.Write(connstr)
'if conn.State then
' response.write "连接成功"
'else
'response.write "连接失败"
'end if
%>
zhy589 发布留言 2007-8-18 09:41
收藏了 谢谢
hahatuzi2000 发布留言 2008-8-2 22:44
[un]gdk2006[/un] 在 2006-8-2 13:18 的发言:[/bo]
一般都写相对路径的是不是啊!<%db="数据库文件/*.mdb"Set conn = Server.CreateObject("ADODB.Connection")conn.open="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(""&db&"")'response.Write ... |
恩,还是看这个比较的清楚.
页: [1]