Professional Web Applications Themes

IIS hangs when openning a connection w MSDAORA provider (0x80040e22) - ASP Database

Hello. The script below opens an ADO connection to an Oracle DB. When run from the command line (cscript), it works. But when run from an ASP page, the IIS hangs during the "oracon.Open()" command (details below). I've done further investigation (see below), but am unable to find a solution. Can anyone help me? Thanks, Martin. var oracon = new ActiveXObject("ADODB.Connection"); oracon.ConnectionString = "Provider=MSDAORA;" +"Data Source=sss; User ID=uuu;Password=zzz;"; // or an ODBC version //oracon.ConnectionString = "DSN=ddd; UID=uuu; PWD=zzz;"; oracon.Open(); Details: ====== - Win2000SP3, MDAC 2.7 (previously 2.5, but the same problem), "MSDAORA.1" OLE DB provider, Oracle 9.2 client. - IIS ...

  1. #1

    Default IIS hangs when openning a connection w MSDAORA provider (0x80040e22)

    Hello.

    The script below opens an ADO connection to an Oracle DB. When run from the
    command line (cscript), it works. But when run from an ASP page, the IIS
    hangs during the "oracon.Open()" command (details below).
    I've done further investigation (see below), but am unable to find a
    solution. Can anyone help me?

    Thanks,
    Martin.

    var oracon = new ActiveXObject("ADODB.Connection");
    oracon.ConnectionString = "Provider=MSDAORA;"
    +"Data Source=sss; User ID=uuu;Password=zzz;";
    // or an ODBC version
    //oracon.ConnectionString = "DSN=ddd; UID=uuu; PWD=zzz;";
    oracon.Open();

    Details:
    ======
    - Win2000SP3, MDAC 2.7 (previously 2.5, but the same problem), "MSDAORA.1"
    OLE DB provider, Oracle 9.2 client.

    - IIS runs the script under the same (my own network) account as used from
    the command line. So, this ought not be an access rights related problem.

    - The error number is 0x80040e22:
    I put MSDAORA.1 as a component into the Component Server, and the following
    error (both in the OLEDB and ODBC version) was returned from IIS (instead of
    hanging):
    "Microsoft OLE DB Service Components error 80040e22
    (Non-NULL controlling IUnknown was specified, and
    either the requested interface was not IUnknown, or the
    provider does not support COM aggregation.)"
    I have found no info about this error anywhere.

    - The ODBC trace log has 59 lines and looks like this (note the last two
    records):

    Processid:{A685 620-25c ENTER SQLAllocEnv
    HENV * 6B5062D4

    Processid:{A685 620-25c EXIT SQLAllocEnv with return code 0 (SQL_SUCCESS)
    HENV * 0x6B5062D4 ( 0x00a31540)

    Processid:{A685 620-25c ENTER SQLAllocConnect
    HENV 00A31540
    HDBC * 6B5062DC

    Processid:{A685 620-25c EXIT SQLAllocConnect with return code 0
    (SQL_SUCCESS)
    HENV 00A31540
    HDBC * 0x6B5062DC ( 0x00a315e8)

    Processid:{A685 620-25c ENTER SQLAllocHandle
    SQLSMALLINT 1 <SQL_HANDLE_ENV>
    SQLHANDLE 00000000
    SQLHANDLE * 6B5062D8

    Processid:{A685 620-25c EXIT SQLAllocHandle with return code 0
    (SQL_SUCCESS)
    SQLSMALLINT 1 <SQL_HANDLE_ENV>
    SQLHANDLE 00000000
    SQLHANDLE * 0x6B5062D8 ( 0x00a316f0)

    Processid:{A685 620-25c ENTER SQLSetEnvAttr
    SQLHENV 00A316F0
    SQLINTEGER 200 <SQL_ATTR_ODBC_VERSION>
    SQLPOINTER 0x00000003
    SQLINTEGER -6

    Processid:{A685 620-25c EXIT SQLSetEnvAttr with return code 0
    (SQL_SUCCESS)
    SQLHENV 00A316F0
    SQLINTEGER 200 <SQL_ATTR_ODBC_VERSION>
    SQLPOINTER 0x00000003 (BADMEM)
    SQLINTEGER -6

    Processid:{A685 620-25c ENTER SQLAllocHandle
    SQLSMALLINT 2 <SQL_HANDLE_DBC>
    SQLHANDLE 00A316F0
    SQLHANDLE * 6B5062E0

    Processid:{A685 620-25c EXIT SQLAllocHandle with return code 0
    (SQL_SUCCESS)
    SQLSMALLINT 2 <SQL_HANDLE_DBC>
    SQLHANDLE 00A316F0
    SQLHANDLE * 0x6B5062E0 ( 0x00a31798)

    Processid:{A685 620-25c ENTER SQLSetEnvAttr
    SQLHENV 00000000
    SQLINTEGER 201 <unknown>
    SQLPOINTER [Unknown attribute 201]
    SQLINTEGER 0

    Processid:{A685 620-25c EXIT SQLSetEnvAttr with return code 0
    (SQL_SUCCESS)
    SQLHENV 00000000
    SQLINTEGER 201 <unknown>
    SQLPOINTER [Unknown attribute 201]
    SQLINTEGER 0



    Martin Plechsmid Guest

  2. #2

    Default IIS hangs when openning a connection w MSDAORA provider (0x80040e22)

    Martin,

    I've not done anything with Oracle, but when I use ADO for
    Access/SQL, etc. I use a slightly different syntax than
    you have. I don't know if that's the issue but it's worth
    a shot.

    It looks like you are using JScript - I use VBscript but
    the syntax is similiar according to my reference.

    1. I don't think the "new" keyword is required.
    I.E. var oracon = ActiveXObject("ADODB.Connection");

    2. I use server.createobject instead of ActiveXObject
    I.E. var oracon = Server.CreateObject("ADODB.Connection")

    3. I typically store the connection string in a variable
    and include it in the open command.
    I.E. var szConn = "Provider=MSDAORA;"
    + "Data Source=sss;"
    + "User ID=uuu;"
    + "Password=zzz;";
    oraconn.open(szConn)



    So, your code would look like this:

    var oracon = Server.CreateObject("ADODB.Connection")
    I.E. var szConn = "Provider=MSDAORA;"
    + "Data Source=sss;"
    + "User ID=uuu;"
    + "Password=zzz;";
    oraconn.open(szConn)


    Try that and see if it solves the problem.

    HTH
    John







    >-----Original Message-----
    >Hello.
    >
    >The script below opens an ADO connection to an Oracle DB.
    When run from the
    >command line (cscript), it works. But when run from an
    ASP page, the IIS
    >hangs during the "oracon.Open()" command (details below).
    >I've done further investigation (see below), but am
    unable to find a
    >solution. Can anyone help me?
    >
    >Thanks,
    > Martin.
    >
    >var oracon = new ActiveXObject("ADODB.Connection");
    >oracon.ConnectionString = "Provider=MSDAORA;"
    > +"Data Source=sss; User
    ID=uuu;Password=zzz;";
    >// or an ODBC version
    >//oracon.ConnectionString = "DSN=ddd; UID=uuu; PWD=zzz;";
    >oracon.Open();
    >
    >Details:
    >======
    > - Win2000SP3, MDAC 2.7 (previously 2.5, but the same
    problem), "MSDAORA.1"
    >OLE DB provider, Oracle 9.2 client.
    >
    > - IIS runs the script under the same (my own network)
    account as used from
    >the command line. So, this ought not be an access rights
    related problem.
    >
    > - The error number is 0x80040e22:
    >I put MSDAORA.1 as a component into the Component Server,
    and the following
    >error (both in the OLEDB and ODBC version) was returned
    from IIS (instead of
    >hanging):
    > "Microsoft OLE DB Service Components error
    80040e22
    > (Non-NULL controlling IUnknown was specified, and
    > either the requested interface was not IUnknown,
    or the
    > provider does not support COM aggregation.)"
    >I have found no info about this error anywhere.
    >
    > - The ODBC trace log has 59 lines and looks like this
    (note the last two
    >records):
    >
    >Processid:{A685 620-25c ENTER SQLAllocEnv
    > HENV * 6B5062D4
    >
    >Processid:{A685 620-25c EXIT SQLAllocEnv with return
    code 0 (SQL_SUCCESS)
    > HENV * 0x6B5062D4 ( 0x00a31540)
    >
    >Processid:{A685 620-25c ENTER SQLAllocConnect
    > HENV 00A31540
    > HDBC * 6B5062DC
    >
    >Processid:{A685 620-25c EXIT SQLAllocConnect with
    return code 0
    >(SQL_SUCCESS)
    > HENV 00A31540
    > HDBC * 0x6B5062DC ( 0x00a315e8)
    >
    >Processid:{A685 620-25c ENTER SQLAllocHandle
    > SQLSMALLINT 1 <SQL_HANDLE_ENV>
    > SQLHANDLE 00000000
    > SQLHANDLE * 6B5062D8
    >
    >Processid:{A685 620-25c EXIT SQLAllocHandle with return
    code 0
    >(SQL_SUCCESS)
    > SQLSMALLINT 1 <SQL_HANDLE_ENV>
    > SQLHANDLE 00000000
    > SQLHANDLE * 0x6B5062D8 ( 0x00a316f0)
    >
    >Processid:{A685 620-25c ENTER SQLSetEnvAttr
    > SQLHENV 00A316F0
    > SQLINTEGER 200 <SQL_ATTR_ODBC_VERSION>
    > SQLPOINTER 0x00000003
    > SQLINTEGER -6
    >
    >Processid:{A685 620-25c EXIT SQLSetEnvAttr with return
    code 0
    >(SQL_SUCCESS)
    > SQLHENV 00A316F0
    > SQLINTEGER 200 <SQL_ATTR_ODBC_VERSION>
    > SQLPOINTER 0x00000003 (BADMEM)
    > SQLINTEGER -6
    >
    >Processid:{A685 620-25c ENTER SQLAllocHandle
    > SQLSMALLINT 2 <SQL_HANDLE_DBC>
    > SQLHANDLE 00A316F0
    > SQLHANDLE * 6B5062E0
    >
    >Processid:{A685 620-25c EXIT SQLAllocHandle with return
    code 0
    >(SQL_SUCCESS)
    > SQLSMALLINT 2 <SQL_HANDLE_DBC>
    > SQLHANDLE 00A316F0
    > SQLHANDLE * 0x6B5062E0 ( 0x00a31798)
    >
    >Processid:{A685 620-25c ENTER SQLSetEnvAttr
    > SQLHENV 00000000
    > SQLINTEGER 201 <unknown>
    > SQLPOINTER [Unknown attribute 201]
    > SQLINTEGER 0
    >
    >Processid:{A685 620-25c EXIT SQLSetEnvAttr with return
    code 0
    >(SQL_SUCCESS)
    > SQLHENV 00000000
    > SQLINTEGER 201 <unknown>
    > SQLPOINTER [Unknown attribute 201]
    > SQLINTEGER 0
    >
    >
    >
    >.
    >
    John Beschler Guest

  3. #3

    Default It's a bug

    > var oracon = Server.CreateObject("ADODB.Connection")
    > I.E. var szConn = "Provider=MSDAORA;"
    > + "Data Source=sss;"
    > + "User ID=uuu;"
    > + "Password=zzz;";
    > oraconn.open(szConn)
    No, it's still the same. Thanks for the try.

    Now, I'm almost sure that this is a bug in the Microsoft MSDAORA provider.
    I've installed the Oracle OraOLEDB provider and the code works.
    Nevertheless, I'd like MSDAORA get working too, OraOLEDB might have other
    problems.

    Martin.



    Martin Plechsmid Guest

  4. #4

    Default It's a bug

    You didn't 'really' expect MS to deliver a bugfree driver
    for a competitors product, now did you?

    (:)


    >-----Original Message-----
    >> var oracon = Server.CreateObject("ADODB.Connection")
    >> I.E. var szConn = "Provider=MSDAORA;"
    >> + "Data Source=sss;"
    >> + "User ID=uuu;"
    >> + "Password=zzz;";
    >> oraconn.open(szConn)
    >
    >No, it's still the same. Thanks for the try.
    >
    >Now, I'm almost sure that this is a bug in the Microsoft
    MSDAORA provider.
    >I've installed the Oracle OraOLEDB provider and the code
    works.
    >Nevertheless, I'd like MSDAORA get working too, OraOLEDB
    might have other
    >problems.
    >
    > Martin.
    >
    >
    >
    >.
    >
    John Beschler Guest

Similar Threads

  1. #40544 [NEW]: PostgreSQL connection hangs after die()
    By kees at tweakers dot net in forum PHP Bugs
    Replies: 9
    Last Post: April 5th, 07:48 AM
  2. Static shared data connection provider?
    By Jon Davis in forum ASP.NET Data Grid Control
    Replies: 7
    Last Post: April 6th, 01:48 AM
  3. Replies: 1
    Last Post: November 3rd, 03:17 PM
  4. Microsoft provider does not work with Oracle DB connection
    By George Viveiros in forum ASP Database
    Replies: 2
    Last Post: September 17th, 09:02 PM
  5. Replies: 2
    Last Post: July 9th, 09:28 PM

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139