Basic MTS Question - Error 70


DevX Home    Today's Headlines   Articles Archive   Tip Bank   Forums   

Results 1 to 3 of 3

Thread: Basic MTS Question - Error 70

Hybrid View

  1. #1
    PZ Guest

    Basic MTS Question - Error 70

    Hi All,

    Just did my first MTS component and come into a security problem.

    The design for the MTS component is done and I just implemented the design.
    The object only has one method in it, it accepts a RDO connection object,
    under this connection object, I need to create a temp table, insert a few
    records. I commented out the database access part of code and put under MTS
    package, setup the security option etc. Export the package, then installed
    it on another PC, the client program can talk the component under MTS,
    everything is OK.

    Then I enabled the database access block of code, but this time it didn't
    work, the line references the RDO connection object will fail, and the error
    message is "permission denied 70", I commented out the database access code,
    it works again.

    The reason of pass RDO connection object is to create a temp table,
    connection-based, then pass control back to the client, then the client app
    can use the same RDO connection to fire off dynamic SQL, which uses the temp
    table, such as join or subquery.

    From the MTS design point of view, this might not be a good design, I can
    pass a connection string, but the problem is any temp tables created under
    the newly-created connection is not visible to client app.

    Any help will be apprecaited.


    PING



    Share on Google+

  2. #2
    ranga raghunathan Guest

    Re: Basic MTS Question - Error 70


    hello
    couple of things to try out
    a) error 70 - permission denied will occur if dcom is not turned on on the
    server where you are instantiating object .. go to start/run and type dcomcnfg
    and click on default properties tab and make sure dcom is enabled on the
    computer
    b)in my opinion, if you want to get the temp table records to the client,
    you can do so by passing the recordset back to the client .. i don't think
    you can keep the connection object live in mts and then pass it back to the
    client..you have to use design using disconnected recordsets
    c) you can, create the connection object at the client side itself, use that
    connection to create a temp table, and then create your dynamic sql that
    uses the temp table -- all while the connection is live - it is not necessary
    to use mts for everything.
    d) if you are using vb for your client-side code, use ADO 2.1 or later

    hope this helps
    ranga
    "PZ" <pzhuang@alphalink.com.au> wrote:
    >Hi All,
    >
    >Just did my first MTS component and come into a security problem.
    >
    >The design for the MTS component is done and I just implemented the design.
    >The object only has one method in it, it accepts a RDO connection object,
    >under this connection object, I need to create a temp table, insert a few
    >records. I commented out the database access part of code and put under

    MTS
    >package, setup the security option etc. Export the package, then installed
    >it on another PC, the client program can talk the component under MTS,
    >everything is OK.
    >
    >Then I enabled the database access block of code, but this time it didn't
    >work, the line references the RDO connection object will fail, and the error
    >message is "permission denied 70", I commented out the database access code,
    >it works again.
    >
    >The reason of pass RDO connection object is to create a temp table,
    >connection-based, then pass control back to the client, then the client

    app
    >can use the same RDO connection to fire off dynamic SQL, which uses the

    temp
    >table, such as join or subquery.
    >
    >From the MTS design point of view, this might not be a good design, I can
    >pass a connection string, but the problem is any temp tables created under
    >the newly-created connection is not visible to client app.
    >
    >Any help will be apprecaited.
    >
    >
    >PING
    >
    >
    >


    Share on Google+

  3. #3
    Ping Zhuang Guest

    Re: Basic MTS Question - Error 70

    Thanks Ranga for all these help.

    I solved the "permission denied" error, it's related to the component
    security setting. I will later test this under different situations as you
    pointed out.

    I found this news group very useful and I learned a lot by browsing it.
    Thanks for everyone posting messages here.

    I have been working on serveral client server system, particularly on WAN,
    the link speed is one of concerns in terms of application design, what we
    did is to cut down the data passing between the client app and server.

    When I pass a RDO connection object, it looks like uesless under MTS
    context, I can not use this connection to query data, let alone to create
    temp table.

    The reason to create a temp table is to hold data, this data is not from
    client side, it's from some data source at server level, I don't want to
    pass this data set back to client app, then the client app use "see" this
    temp table under the same connection.

    As you pointed out at C), at client side, I can create connection as well as
    the temp table, then I call MTS object, but the MTS object can not see this
    particular temp table, this is same as traditional client server
    application.

    Now I have to change this design and not using a connection-based temp
    table, I create a physical table, populate the table with a special key,
    then pass the number of records inserted and the key back to the client app.

    Another thing is I don't know how many records to be inserted, so I can not
    pass this data set back to client app, if I know how many records involved
    or limited, I can pass back an array or recordset, same as you suggested.

    Thanks,

    PZ

    ranga raghunathan <ranga1@msn.com> wrote in message
    news:399abd72$1@news.devx.com...
    >
    > hello
    > couple of things to try out
    > a) error 70 - permission denied will occur if dcom is not turned on on the
    > server where you are instantiating object .. go to start/run and type

    dcomcnfg
    > and click on default properties tab and make sure dcom is enabled on the
    > computer
    > b)in my opinion, if you want to get the temp table records to the client,
    > you can do so by passing the recordset back to the client .. i don't think
    > you can keep the connection object live in mts and then pass it back to

    the
    > client..you have to use design using disconnected recordsets
    > c) you can, create the connection object at the client side itself, use

    that
    > connection to create a temp table, and then create your dynamic sql that
    > uses the temp table -- all while the connection is live - it is not

    necessary
    > to use mts for everything.
    > d) if you are using vb for your client-side code, use ADO 2.1 or later
    >
    > hope this helps
    > ranga
    > "PZ" <pzhuang@alphalink.com.au> wrote:
    > >Hi All,
    > >
    > >Just did my first MTS component and come into a security problem.
    > >
    > >The design for the MTS component is done and I just implemented the

    design.
    > >The object only has one method in it, it accepts a RDO connection object,
    > >under this connection object, I need to create a temp table, insert a few
    > >records. I commented out the database access part of code and put under

    > MTS
    > >package, setup the security option etc. Export the package, then

    installed
    > >it on another PC, the client program can talk the component under MTS,
    > >everything is OK.
    > >
    > >Then I enabled the database access block of code, but this time it didn't
    > >work, the line references the RDO connection object will fail, and the

    error
    > >message is "permission denied 70", I commented out the database access

    code,
    > >it works again.
    > >
    > >The reason of pass RDO connection object is to create a temp table,
    > >connection-based, then pass control back to the client, then the client

    > app
    > >can use the same RDO connection to fire off dynamic SQL, which uses the

    > temp
    > >table, such as join or subquery.
    > >
    > >From the MTS design point of view, this might not be a good design, I can
    > >pass a connection string, but the problem is any temp tables created

    under
    > >the newly-created connection is not visible to client app.
    > >
    > >Any help will be apprecaited.
    > >
    > >
    > >PING
    > >
    > >
    > >

    >



    Share on Google+

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
HTML5 Development Center
 
 
FAQ
Latest Articles
Java
.NET
XML
Database
Enterprise
Questions? Contact us.
C++
Web Development
Wireless
Latest Tips
Open Source


   Development Centers

   -- Android Development Center
   -- Cloud Development Project Center
   -- HTML5 Development Center
   -- Windows Mobile Development Center