菜鸟求教!为什么老是连不上数据库啊

ken_henderson 2001-09-10 12:51:40
究竟连数据库的详细步骤是什么啊,我按书上说的做老是出错
错误类型:Microsoft OLE DB Provider for ODBC Drivers (0x80004005)

...全文
126 点赞 收藏 15
写回复
15 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
ken_henderson 2001-09-14
help!
回复
ken_henderson 2001-09-14
好像不行啊,用浏览器看的时候源文件只能看到>
<BODY BGCOLOR="White" topmargin="10" leftmargin="10">
以上的代码,下面的都没有了
回复
simpsons 2001-09-14
认真学!一定会!
回复
ycjnx 2001-09-14
你用的是ACCESS?格式我不熟。这里给你一个示例(SQL server7.0)
使用ole db与sql server建立链接。注:以大写字母开头或全部为大写字母的为系统项,一般不可更改,小写字母为自己可以改变的选项。分号";"后面的均为注释。
SET cnn=SERVER.CreateObject("AdoDb.connection") ;创建cnn对象
strcnn="Driver={Sql Server};Server=servername;Uid=sa;pwd=;DataBase=databasename"
cnn.open strcnn
;以用户名"sa",密码""(无密码)与服务器"servername"的"databasename"数据库建立连接
好好查一查你的打开连接字串strcnn,另外先单独运行一下查询语句看是否有错(sql中使用query anlyzer)。
回复
filePath = Server.MapPath("F:\db1.mdb")
为什么用它?
多此一举!
回复
ken_henderson 2001-09-13
不行啊,好像连Server.MapPath("F:\db1.mdb")这句都运行不了
<%@ Language=VBScript %>
<% Option Explicit %>
<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
<TITLE>Simple ADO Query</TITLE>
</HEAD>
<BODY BGCOLOR="White" topmargin="10" leftmargin="10">
<%
Dim oConn
Dim oRs
Dim filePath
Dim Index
filePath = Server.MapPath("F:\db1.mdb")

Set oConn = Server.CreateObject("ADODB.Connection")
oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & filePath
Set oRs = oConn.Execute("SELECT * From db1")
%>
<TABLE border = 1>
<%
Do while (Not oRs.eof) %>
<tr>
<% For Index=0 to (oRs.fields.count-1) %>
<TD VAlign=top><% = oRs(Index)%></TD>
<% Next %>
</tr>
<% oRs.MoveNext
Loop
%>
</TABLE>
<%
oRs.close
oConn.close
%>

</BODY>
</HTML>
回复
kenspc 2001-09-13
改成这样看看
<%@ Language=VBScript %>
<% Option Explicit %>
<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
<TITLE>Simple ADO Query</TITLE>
</HEAD>
<BODY BGCOLOR="White" topmargin="10" leftmargin="10">
<%
Dim oConn
Dim oRs
Dim filePath
Dim Index, sql
filePath = "F:\db1.mdb"

Set oConn = Server.CreateObject("ADODB.Connection")
oConn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & filePath

Set oRs = Server.CreateObject("ADODB.Recordset")

sql = "SELECT * From db1"
oRs.Open sql, oConn, 3
%>
<TABLE border = 1>
<%
Do while (Not oRs.eof) %>
<tr>
<% For Index=0 to (oRs.fields.count-1) %>
<TD VAlign=top><% = oRs(Index)%></TD>
<% Next %>
</tr>
<% oRs.MoveNext
Loop
%>
</TABLE>
<%
oRs.close
oConn.close
%>

</BODY>
</HTML>
回复
viking 2001-09-13

filePath = Server.MapPath("F:\db1.mdb")]
上边这句是调用数据库的虚拟路径,因为在服务器端运行的程序不能直接对绝对路径进行操作。



下面将简单介绍一下几种ADO连接方式:ODBC DSN,ODBC DSN-Less,
OLE DB Provider,和"MS Remote" Provider.
1。ODBC DSN连接
I.DSN
oConn.Open "DSN=AdvWorks;" & _
"UID=Admin;" & _
"PWD=;"
注意:从MDAC2.1开始就不能够在使用这样的方式了,就是只把DSN文件名放在ConnectString中
你必须同时使用DSN,UID,PWD标志。例如下面的方式在MDAC 2.1中将会出错:
oConn.Open "AdvWorks"



II.File DSN
oConn.Open "FILEDSN=\somepath\mydb.dsn;" & _
"UID=Admin;" & _
"PWD=;"
III.ODBC DSN-Less Connections
a)ODBC Text Driver
oConn.Open _
"Driver={Microsoft Text Driver (*.txt; *.csv)};" & _
"Dbq=\somepath\;" & _
"Extensions=asc,csv,tab,txt;" & _
"Persist Security Info=False"
注意:需要在SQL语句中指定使用到的文件名。例如:
oRs.Open "Select * From customer.csv", _
oConn, adOpenStatic, adLockReadOnly, adCmdText
b)ODBC Driver for Access
i)普通安全模式:
oConn.Open _
"Driver={Microsoft Access Driver (*.mdb)};" & _
"Dbq=\somepath\mydb.mdb;" & _
"Uid=Admin;" & _
"Pwd=;"
ii)如果使用了System database:
oConn.Open _
"Driver={Microsoft Access Driver (*.mdb)};" & _
"Dbq=\somepath\mydb.mdb;" & _
"SystemDB=\somepath\mydb.mdw;", _
"admin", ""
c)ODBC Driver for SQL Server
i)普通安全模式
oConn.Open "Driver={SQL Server};" & _
"Server=carl2;" & _
"Database=pubs;" & _
"Uid=sa;" & _
"Pwd=;"
ii)使用信任安全模式:
oConn.Open "Driver={SQL Server};" & _
"Server=carl2;" & _
"Database=pubs;" & _
"Uid=;" & _
"Pwd=;"
注意:要使用空白的Uid和Pwd
d)ODBC Driver for Oracle
i)使用现有的Oracle ODBC Driver from Microsoft:
oConn.Open _
"Driver={Microsoft ODBC for Oracle};" & _
"Server=OracleServer.world;" & _
"Uid=demo;" & _
"Pwd=demo;"
ii)使用老版本的Oracle ODBC Driver from Microsoft:
oConn.Open _
"Driver={Microsoft ODBC Driver for Oracle};" & _
"ConnectString=OracleServer.world;" & _
"Uid=demo;" & _
"Pwd=demo;"
IIII)使用微软的OLE DB Data Link Connections方式Data Link File (UDL)
a)使用绝对路径
oConn.Open "File Name=\somepath\pubs.udl;"
b)使用相对路径
oConn.Open "File Name=pubs.udl;"
V)OLE DB Provider Connections方式
a)OLE DB Provider for ODBC Databases
i)Access (Jet):
oConn.Open _
"Provider=MSDASQL;" & _
"Driver={Microsoft Access Driver (*.mdb)};" & _
"Dbq=\somepath\mydb.mdb;" & _
"Uid=Admin;" & _
"Pwd=;"
ii)SQL Server:
oConn.Open _
"Provider=MSDASQL;" & _
"Driver={SQL Server};" & _
"Server=carl2;" & _
"Database=pubs;" & _
"Uid=sa;" & _
"Pwd=;"
b)OLE DB Provider for Microsoft Jet (Access)
i)普通安全模式:
oConn.Open _
"Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=\somepath\mydb.mdb;" & _
"User Id=admin;" & _
"Password=;"
ii)如果使用了System database:
oConn.Open _
"Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=\somepath\mydb.mdb;" & _
"Jet OLEDB:System Database=system.mdw;", _
"admin", ""
注意:当使用OLE DB Provider4.0版本是,需要把MDB和MDW文件转换成4.0的数据库格式
iii)如果MDB需要一个数据库密码的话:
oConn.Open _
"Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=\somepath\mydb.mdb;" & _
"Jet OLEDB:Database Password=MyDbPassword;", _
"admin", ""
c)OLE DB Provider for Excel Spreadsheet:
oConn.Open _
"Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=\somepath\expenses.xls;" & _
"Extended Properties=""Excel 8.0;HDR=Yes;"";"
注意: "HDR=Yes"表示在第一行中是行标题,在provider中将不把第一行包括入recordset中
d)OLE DB Provider for SQL Server
i)普通安全模式:
oConn.Open "Provider=sqloledb;" & _
"Network Library=DBMSSOCN;" & _
"Data Source=carl2;" & _
"Initial Catalog=pubs;" & _
"User Id=sa;" & _
"Password=;"
ii)使用信任安全模式:
oConn.Open "Provider=sqloledb;" & _
Network Library=DBMSSOCN;" & _
"Data Source=carl2;" & _
"Initial Catalog=pubs;" & _
"Trusted_Connection=yes;"
注意:"Network Library=DBMSSOCN"声明OLE DB使用TCP/IP替代Named Pipes.
e)OLE DB Provider for Oracle
oConn.Open "Provider=msdaora;" & _
"Data Source=OracleServer.world;" & _
"User Id=sa;" & _
"Password=;"
(VI)Remote OLE DB Provider Connections方式(就是我一直在研究的RDS方式哦,呵呵。):
a)MS Remote - Access (Jet)
i)ODBC DSN:
oConn.Open "Remote Server=http://carl2;" & _
"Remote Provider=MSDASQL;" & _
"DSN=AdvWorks;" & _
"Uid=admin" & _
"Pwd=;"
ii)OLE DB Provider:
oConn.Open "Provider=MS Remote;" & _
"Remote Server=http://carl2;" & _
"Remote Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=\somepath\mydb.mdb;", _
"admin", ""
iii)OLE DB Provider自定义事务对象
oConn.Open "Provider=MS Remote;" & _
"Remote Server=http://carl2;" & _
"Handler=MSDFMAP.Handler;" & _
"Data Source=MyAdvworksOLEDBConnectTag;"
b)MS Remote - SQL Server
i)ODBC DSN:
oConn.Open "Remote Server=http://carl2;" & _
"Remote Provider=MSDASQL;" & _
"Network Library=DBMSSOCN;" & _
"DSN=Pubs;" & _
"Uid=sa" & _
"Pwd=;"
ii)OLE DB Provider
oConn.Open "Provider=MS Remote;" & _
"Remote Server=http://carl2;" & _
"Remote Provider=SQLOLEDB;" & _
"Network Library=DBMSSOCN;" & _
"Data Source=carl2;" & _
"Initial Catalog=pubs;" & _
"User ID=sa;" & _
"Password=;"

回复
adon 2001-09-11
这样写看看:
<%cn.open "driver={Microsoft Access Driver (*.mdb)};dbq=" & SERVER.MapPath("/market/sales.mdb")"%>
回复
chinaillboy 2001-09-10
可能是驱动与数据库类型不一致
回复
lanying 2001-09-10
<% cn.open "provider = microsoft.jet.oledb.4.0;data source="&server.mappath("c:\market\sales.mdb")%>
回复
defore 2001-09-10
贴源代码
回复
www525 2001-09-10
源码贴出来看看
回复
anndy2001 2001-09-10
例如:连接 ACCESS数据库:
<% cn.open"provider = microsoft.jet.oledb.4.0;data source=c:\market\sales.mdb"%>
一定要注意路径问题。路径写全了就可以。
我也曾经遇到过这样的问题,把路径改了就行了
试试看吧。
回复
hansx 2001-09-10
原代码贴上来看看~
回复
发帖
ASP
创建于2007-09-28

2.8w+

社区成员

ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
申请成为版主
帖子事件
创建了帖子
2001-09-10 12:51
社区公告
暂无公告