DSN 小问题---简单问题,大捞分(100分)

  • 主题发起人 主题发起人 micony
  • 开始时间 开始时间
M

micony

Unregistered / Unconfirmed
GUEST, unregistred user!
我用ASP + ACCESS 在Windows 98+ PWS下编了个ASP程序,不用设置什么DSN照样能连接上ACCESS,程序能正常运行.
可是将程序考到服务器后(Windows 2000 server) 发现数据库连接有问题.应该是DSN没设置好吧.
我想问一下,为什么我在98下没设置DSN也能连接数据库?
还有,如果我在98下设置好了DSN了,再将程序考到2000下,不在修改2000的DSN设置了,能正常的连接数据库吗?
因为我没有权利修改服务器~~~~~~~~~
程序只能在98下调试修改,我该怎么
 
你的程序既然是ASP+ACCESS的那就不要用DNS了呀
 
用mappath指定相对目录
 
在九八下不需要设置DSN,那说明你不是用的DSN的连接方式,你用的是字符串连接方式
换到2000上不能运行,一般是数据库动的问题
这样子,connection的连接代码发给我看看
:)
 
数据连接代码如下,各位不妨看看
dim conn
dim connstr
dim db
'更改数据库名字
db="message.mdb"
Set conn = Server.CreateObject("ADODB.Connection")
connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &
Server.MapPath(""&db&"")
'如果你的服务器采用较老版本Access驱动,请用下面连接方法
' connstr="driver={Microsoft Access Driver (*.mdb)};dbq=" &
Server.MapPath(""&db&"")
conn.Open connstr '这是第69行
set rs=server.createobject("adodb.recordset")
sql="select * from [msgtable] where name='"&fname&"'"
rs.open sql,conn,1,3
rs.addnew
rs("name")=fname
rs("sex")=fsex
rs("part")=fpart
rs("zhuanye")=fzhuanye
rs("adress")=fadress
rs("email")=femail
rs("date")=fdate
rs("tel")=ftel
rs("pass")=fpass
rs.update
............
在98+PWS下运行正常,我也没设置什么DNS 但考到2000服务器时出现如下错误:
ADODB.Connection 错误 '800a0e7a'
ADO 找不到指定的提供者。
/students/aixin/addhuiyuan.asp, 行69
===================================
其中行69就是:conn.Open connstr
 
请确定:Access数据库的版本,如果是Access98格式,最好着换成Access2000
以下的数据库连接字符串在Win2000 Server上没有任何问题:
connstr="DBQ="+server.mappath("[blue]DB.mdb[/blue]")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};DriverId=25;FIL=MS Access;ImplicitCommitSync=Yes;MaxBufferSize=512;MaxScanRows=8;PageTimeout=5;SafeTransactions=0;Threads=3;UserCommitSync=Yes;"
 
注意你的ODBC里的DLL文件是不是正确版本,如果将WIN98下对应的文件直接拷贝到WIN200
下,程序同样是会报错。
 
TMD我才发现问题找到,是那个服务器太烂,他们用的ACCESS97的驱动程序,而我用的是ACCESS
和ACCESS的驱动程序,数据库的连接方法就是drawpharos所说的方法:
connstr="DBQ="+server.mappath("DB.mdb")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};
DriverId=25;FIL=MS Access;ImplicitCommitSync=Yes;MaxBufferSize=512;MaxScanRows=8;PageTimeout=5;
SafeTransactions=0;Threads=3;UserCommitSync=Yes;"
各位,在ACCESS97下能否连接ACCESS2000?应怎样连接?
我如果在我的机子上装个ACCESS97能模仿那个烂服务器的环境吗?
我现在需要在ACCESS97驱动程序下调试程序
 
用你的Access2000将数据库转换为Access97格式
应该在工具菜单下面
 
后退
顶部