建立系统DSN,是ACEESS的。没设用户名和密码。系统是windows2000 Server
ASP代码如下
set cn=Server.CreateObject("ADODB.Connection")
cn.Open "DSN=db2;"
错误信息:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
我觉得不是程序的错误,服务器设置可能有问题,可我不知道应该怎么设置,一点办法都没有。请高手不吝赐教,感激不尽!

解决方案 »

  1.   

    use dsnless connection string, provide user name and password in the connection string. because asp run under a special account, it may not be able to get the user name and password of current logon user.
    try the following
    OLE DB Provider for DB2 (from Microsoft) 
    For TCP/IP connectionsoConn.Open = "Provider=DB2OLEDB;" & _
                 "Network Transport Library=TCPIP;" &  _
                 "Network Address=xxx.xxx.xxx.xxx;" & _
                 "Initial Catalog=MyCatalog;" & _
                 "Package Collection=MyPackageCollection;" & _
                 "Default Schema=MySchema;" & _
                 "User ID=MyUsername;" & _
                 "Password=MyPassword"
     
    For APPC connectionsoConn.Open = "Provider=DB2OLEDB;" &  _
                 "APPC Local LU Alias=MyLocalLUAlias;" &  _
                 "APPC Remote LU Alias=MyRemoteLUAlias;" &  _
                 "Initial Catalog=MyCatalog;" & _
                 "Package Collection=MyPackageCollection;" & _
                 "Default Schema=MySchema;" & _
                 "User ID=MyUsername;" & _
                 "Password=MyPassword"
      

  2.   

    你的数据库是Access的吧,试试连接字符串cn.Open "Provider=MSDASQL.1;Persist Security Info=False;Data Source=test;Initial Catalog=C:\test"
    假设access数据库test.mdb在c:根目录下
      

  3.   

    jobine(灼冰) 的是连接SQL Server 的方法。要根据数据源的种类更改
    Provider等参数。
    你可以用VB生成连接串测试连接成功后,再把他复制到asp中。
      

  4.   

    to AlphaGroup(ff)
    当然不是连接SQL SERVER的方法,但是通过oledb连接test.mdb数据源的方法。
    to 楼主针对不同的provider,asp连接字符串不尽相同,你可以参考iis文档。
    键入127.0.0.1/-〉asp指南->建立asp页->访问数据源,就可以看到不同的连接字符串方法
      

  5.   


    Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\db2.mdb;Persist Security Info=False
    不要用Provider=MSDASQL.1这要选驱动,选错了就打不开。
    因为Access存在一个2002,2000,97版本问题。
      

  6.   

    ODBC DSNLess Connections:MS Access ODBC DSNless connectionDriver={Microsoft Access Driver (*.mdb)};Dbq=c:\somepath\dbname.mdb;Uid=Admin;Pwd=pass;
    dBase ODBC DSNless connectionDriver={Microsoft dBASE Driver (*.dbf)};DriverID=277;Dbq=c:\somepath\dbname.dbf;a connection string should look like:
    "Provider=MSDASQL;Driver=Microsoft dBase Driver (*.dbf);SERVER=myServer; UID=myUser;PWD=myPwd;Database=myDatabase; DEFAULTDIR=C:\\myFolder"
    Oracle ODBC DSNless connectionDriver={Microsoft ODBC for Oracle};Server=OracleServer.world;Uid=admin;Pwd=pass;MS SQL Server DSNless connectionDriver={SQL Server};Server=servername;Database=dbname;Uid=sa;Pwd=pass;MS Text Driver DSNless connectionDriver={Microsoft Text Driver (*.txt; *.csv)};Dbq=c:\somepath\;Extensions=asc,csv,tab,txt;Persist Security Info=False;Visual Foxpro DSNless connectionDriver={Microsoft Visual FoxPro Driver};SourceType=DBC;SourceDB=c:\somepath\dbname.dbc;Exclusive=No;MySQL DSNless connectiondriver={mysql}; database=yourdatabase;server=yourserver;uid=username;pwd=password;option=16386;OLE DB Connections:MS Access OLE DB connection Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\somepath\dbname.mdb;User Id=admin;Password=pass; Oracle OLE DB connectionProvider=OraOLEDB.Oracle;Data Source=dbname;User Id=admin;Password=pass;MS SQL Server OLE DB connectionProvider=SQLOLEDB;Data Source=machineName;Initial Catalog=dbname;User ID=sa;Password=pass;MS SQL Server OLE DB connection using an IP addressProvider=SQLOLEDB; Data Source=xx.xx.xx.xx,1433; Network Library=DBMSSOCN; Initial Catalog=dbname;User ID=sa;Password=pass;MS Text Driver OLE DB connection"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\yourpath;Extended Properties='text;FMT=Delimited'"(it's important to use the quotes with this driver in the Custom Connection dialog box)
      

  7.   

    if your database is file based(such as mdb , dbf etc), then you have to configure access right for web application.