热情软件屋

 

ASP中打开数据库时会报:“不支持此接口”的错误


编号:QA004691
建立日期: 2003年6月3日 最后修改日期:2003年6月3日
所属类别:

fei liu:
    操作系统:Win
    编程工具:vb6.0
    问题:我在vb6.0中制作了一个dll,该dll中通过ADO连接到Access2000数据库,编译好以后,在vb6.0的其它工程中能够成功引用。但当我在Interdev中把它引用到一个ASP文件后,运行该ASP会报:“不支持此接口”的错误。通过错误跟踪我发现是在数据库open时出的错。以下是dll文件代码,烦请不吝赐教:
    
    Option Explicit
    Private a1() As String
    Public Function arry_ini() As String
    On Error Resume Next
    Dim myconn As New ADODB.Connection
    Dim myrecf As New ADODB.Recordset
    Dim myrect As New ADODB.Recordset
    Dim i As Single
    myconn.Provider = "Microsoft.Jet.OLEDB.4.0"
    myconn.Properties("Data Source") = "E:\aa.mdb"
    myconn.Open '运行到此会报不支持此接口的错误
    Set myrecf = myconn.Execute("select * from board order by BoardName")
    ReDim a1(5) As String
    myrecf.MoveFirst
    For i = 1 To 5
     If Not myrecf.EOF Then
     a1(i) = myrecf.Fields("BoardName").Value
     myrecf.MoveNext
     Else: Exit For
     End If
    Next i
    End Function
    
    ASP中代码:<% set shpfind = server.CreateObject("shortpath.pathfind")
     shpfind.arry_ini
     a=shpfind.arry_ini
     response.write a
     %>

回答:

    宋霈霖的意见:
    源文件及已生成的DLL文件在附件Sample.rar中。调用时可以使用如下代码
     <%
     dim smp
     set smp = server.CreateObject("sample.clsSample")
     smp.DataSource=server.MapPath(数据库的相对路径)
     response.Write (smp.GetSchema())
     set smp=nothing
     %>
    在 WindowXP/VB6.0/IIS5.1 测试通过。
    
    wms821的意见:
    请试试在Myconn.Open= 语句前增加一句:Myconn.CursorLocation == adUseClient或许能解决问题!
    
    宋一丁的意见:
    不太清楚你的问题是怎么回事,我也遇到了同样的问题。我解决的办法是这样写:
    Set conn = CreateObject("ADODB.Connection")
    conn.Open "Provider=SQLOLEDB;Data Source=abc;Initial Catalog=db;User Id=sa;Password=sa"
    Set rs = conn.Execute("select * from temp order by id ")
    这样就可以通过了。
    
    ZQlooknow的意见:
    myconn.Properties("Data Source") = "E:\aa.mdb"
    此句中,不能使用绝对路径,换为相对路径;最好使用SQLConnectionString
    
    杨柳的意见:
    可能是你在设计Data Source时使用了绝对路径的原因!
    
    张林的意见:
    或者把"Microsoft.Jet.OLEDB.4.0" 改为"Microsoft.Jet.OLEDB.3.5.1" 试试。我也有这种现象,不过和你的有点不一样啊!

此问题由宋霈霖等回答。

 
把这个问题推荐给朋友
   
   
您的意见类别
您的名字
您的电子邮件
您的建议(请尽可能详细)
 
 

版权所有 1997-2008 热情软件屋
如果您有任何建议和意见, 请给我发个电子邮件 askpro@china-askpro.com
Web Designed by ZebraStudio