Subject | RE: [IBDI] RE: Remote Data Access using an ISAPI (Delphi) |
---|---|
Author | Olivier Mascia |
Post date | 2000-07-18T17:30:04Z |
Shiv,
Paul already gave you the user solution. If you follow the procedure, it
will work without problem. So that's the 'How'. (Step 2 is not mandatory
though).
Here is the developer explanation (the 'Why').
Today the inter-process communication used in Interbase when a client is
connected to the server in 'local' mode (not through TCP/IP or another
network transport), relies to some extent on Windows messages passed between
both.
On NT & 2000, for windows to be able to communicate through messages, they
MUST be created in a same Window Station. IIS runs under a dedicated user
account (the famous IUSR_<something>. Running a service under a specific
account implies a private Window Station. There is NO way to exchange a
window message between a window created in that private invisible Window
Station and the Interactive Window Station (the one you see everyday).
The BEST workaround is to ALWAYS connect in TCP/IP. Just connect to
"someserver:c:/database/data.gdb" and not simply to "c:/database/data.gdb".
Theorically, you could also set your IBServer to run under the IUSR_...
identity. IIS (well your client DLL used in the process context of IIS) and
IBSERVER would be able to communicate. (I tested this). But now your
IBSERVER wouldn't be able to talk to any of the command-line or GUI tools
when run from your Interactive console... ! Because IBSERVER is no more in
the Interactive Window Station in that case.
So stick to the network connection string until the source is available and
someone revise the inter-process communication (when compiled for Windows)
to use other means than windows messages.
-------------------------- www.tipgroup.com -------------------------
Olivier Mascia T.I.P. Group S.A.
om@... Company Phone +32 65 401111
Director, Senior Software Engineer Personal Voice/FAX +32 43 204716
-----Original Message-----
From: Shiv Kumar [mailto:skumar@...]
Sent: Tuesday, July 18, 2000 5:39 PM
To: 'IBDI@egroups.com'
Subject: [IBDI] RE: Remote Data Access using an ISAPI (Delphi)
Hi
I was asked a number of questions in this regard and here are my answers
1. Jason asked about the version in GDS32.DLL - There were two instances of
this file found. I deleted one (it was not in the environment path anyway).
Still no change.
2. The protocol I am using is TCP/IP. No, I've not tried it with path's with
a forward slash. Would that make a difference ?
Some more facts:
1. I am able to use the WISQL tool from this machine accessing the database
on the remote machine (using the backslash notation).
2. I am able to build a standard application that accesses the remote
database.
3. At design time in the ISAPI project I am able to connect to the database
and see the data (again I'm using the back slash notation here). But not at
run time.
Would the forward slash make the difference, considering the fact that I am
able to connect to the database
anyway ?
Shiv.
------------------------------------------------------------------------
Need technology solutions for your business? Respond.com can help.
Just tell us your IT needs. We'll bring the right providers to you
http://click.egroups.com/1/6324/5/_/679568/_/963934825/
------------------------------------------------------------------------
Community email addresses:
Post message: IBDI@onelist.com
Subscribe: IBDI-subscribe@onelist.com
Unsubscribe: IBDI-unsubscribe@onelist.com
List owner: IBDI-owner@onelist.com
Shortcut URL to this page:
http://www.onelist.com/community/IBDI
Paul already gave you the user solution. If you follow the procedure, it
will work without problem. So that's the 'How'. (Step 2 is not mandatory
though).
Here is the developer explanation (the 'Why').
Today the inter-process communication used in Interbase when a client is
connected to the server in 'local' mode (not through TCP/IP or another
network transport), relies to some extent on Windows messages passed between
both.
On NT & 2000, for windows to be able to communicate through messages, they
MUST be created in a same Window Station. IIS runs under a dedicated user
account (the famous IUSR_<something>. Running a service under a specific
account implies a private Window Station. There is NO way to exchange a
window message between a window created in that private invisible Window
Station and the Interactive Window Station (the one you see everyday).
The BEST workaround is to ALWAYS connect in TCP/IP. Just connect to
"someserver:c:/database/data.gdb" and not simply to "c:/database/data.gdb".
Theorically, you could also set your IBServer to run under the IUSR_...
identity. IIS (well your client DLL used in the process context of IIS) and
IBSERVER would be able to communicate. (I tested this). But now your
IBSERVER wouldn't be able to talk to any of the command-line or GUI tools
when run from your Interactive console... ! Because IBSERVER is no more in
the Interactive Window Station in that case.
So stick to the network connection string until the source is available and
someone revise the inter-process communication (when compiled for Windows)
to use other means than windows messages.
-------------------------- www.tipgroup.com -------------------------
Olivier Mascia T.I.P. Group S.A.
om@... Company Phone +32 65 401111
Director, Senior Software Engineer Personal Voice/FAX +32 43 204716
-----Original Message-----
From: Shiv Kumar [mailto:skumar@...]
Sent: Tuesday, July 18, 2000 5:39 PM
To: 'IBDI@egroups.com'
Subject: [IBDI] RE: Remote Data Access using an ISAPI (Delphi)
Hi
I was asked a number of questions in this regard and here are my answers
1. Jason asked about the version in GDS32.DLL - There were two instances of
this file found. I deleted one (it was not in the environment path anyway).
Still no change.
2. The protocol I am using is TCP/IP. No, I've not tried it with path's with
a forward slash. Would that make a difference ?
Some more facts:
1. I am able to use the WISQL tool from this machine accessing the database
on the remote machine (using the backslash notation).
2. I am able to build a standard application that accesses the remote
database.
3. At design time in the ISAPI project I am able to connect to the database
and see the data (again I'm using the back slash notation here). But not at
run time.
Would the forward slash make the difference, considering the fact that I am
able to connect to the database
anyway ?
Shiv.
------------------------------------------------------------------------
Need technology solutions for your business? Respond.com can help.
Just tell us your IT needs. We'll bring the right providers to you
http://click.egroups.com/1/6324/5/_/679568/_/963934825/
------------------------------------------------------------------------
Community email addresses:
Post message: IBDI@onelist.com
Subscribe: IBDI-subscribe@onelist.com
Unsubscribe: IBDI-unsubscribe@onelist.com
List owner: IBDI-owner@onelist.com
Shortcut URL to this page:
http://www.onelist.com/community/IBDI