If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.

 
Go Back  dBforums > Database Server Software > Informix > cant connect via shared memory, only soctcp works

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1 (permalink)  
Old 04-04-04, 11:23
WiccaChic WiccaChic is offline
Registered User
 
Join Date: Jan 2004
Posts: 71
cant connect via shared memory, only soctcp works

Hi all. Our former dba has our informix databases setup so that everything (from a user perspective) connects via soctcp. I tried to set up an alias and then a line in sqlhosts as well as the appropriate connections setting in onconfig so that I could run batch jobs on the same box that houses the database via ipcshm but the apps keep failing with a message that indicates they cannot connect to the database.

I can export the server name to a local session and use dbaccess to connect via ipcshm with no problems. I did notice that I cannot use isql in this same manner and get the same type of 'cannot connect...' failure. Anyone shed some light on this?

I am running on IDS 9.40 and the OS is AIX 5.2.
-thanks
Reply With Quote
  #2 (permalink)  
Old 04-05-04, 16:01
RobP RobP is offline
Registered User
 
Join Date: Mar 2004
Location: Netherlands
Posts: 183
Please specify the full version number. If it is 9.40.FCx then it is a 64-bit version. In that case IDS is unsing 64-bit memory addresses. Tools like isql (and also 4gl programs) are normally 32-bit. So it is not possible to connect to the 64-bit memory with a 32-bit address.

I don't know if this is true for your situation.

Greetings,

Rob Prop
Reply With Quote
  #3 (permalink)  
Old 04-06-04, 08:36
WiccaChic WiccaChic is offline
Registered User
 
Join Date: Jan 2004
Posts: 71
<!>

Thats exactly whats happening I bet! I am using the AIX 64-bit version. That sort of stinks...I guess I will need to recompile the 32 bit apps I want to run as 64 bit apps.

Boy, that really really stinks! I bet our programmers dont even know how to throw the 64 bit switch on their compiles so I guess I better do some reading. Thanks RobP!
Reply With Quote
  #4 (permalink)  
Old 04-06-04, 11:50
mjldba mjldba is offline
Registered User
 
Join Date: Dec 2003
Location: North America
Posts: 139
where is your INFORMIXSERVER env variable pointing ?

Is it pointing to servername_shm or servername_tcp?
Reply With Quote
  #5 (permalink)  
Old 04-06-04, 13:39
WiccaChic WiccaChic is offline
Registered User
 
Join Date: Jan 2004
Posts: 71
I have been setting that variable to point at the server name associated with ipcshm in the sqlhosts file, which is relfected in the connection type parm in onconfig.

I am pretty sure I have been doing it right and dbaccess will work and run in shared memory if I export the server name. Its just my old 32-bit 4GL apps and ISQL that I am running into this with. I diescovered this week that while we are running the 64 bit version of Informix (*FC2) we are running the *UC version of the 4GL toolset which by its very generic and universal nature is 32 bit.

The admin before me was a doofus who liked to keep everything related to 'database management' secret and our programmers were never even aware of this 32 bit toolset thing until now. Its really a shame, because his secretive nature has left all our programmers hating Informix because they feel like they do not know enough about how things work to make them work better/take advantage of its strengths. I was all evil-empire myself (microsoft type) until I inherited these Informix servers, but I have come to respect its speed and ability to scale vertically instead of the usual horizontal growth I usually have to deal with in the MS world.

I am curious if I can still use the same 4gl toolset I have been using and maybe flip a switch at the C compiler end? As I understand it (which is not very well or much) the 4GL tools pass the object to the C compiler which actually creates the executable? Feel free to correct me if I am wrong, this is the understanding of things that has been passed down from our former DBA to our dev staff and now me.

Thanks for the input.
Reply With Quote
  #6 (permalink)  
Old 04-06-04, 13:58
RobP RobP is offline
Registered User
 
Join Date: Mar 2004
Location: Netherlands
Posts: 183
Hi WiccaChic,

I think 4GL on most platforms is still 32-bit, so just recompiling it is not an option. What we always suggest is enabling tcp/ip connections for the local 4gl. This will make the communication a little bit slower, but this is more than enough compensated with the 64-bit database technology.

I don't know if you know how to set this up but it is quite easy (just like everything else in the IT, if you know it).

Put extra extry in your /etc/services file, for example:

ixport 1531/tcp

Put extra line in sqlhosts file

dbservertcp onsoctcp <hostname> ixport

Put extra line / adjust line in ONCONFIG:

DBSERVERALIASES dbservertcp
NETTYPE soctcp,1,,NET



This is just a set-up, if you need more advise please post or e-mail your onconfig and sqlhosts file.

Hope this helps,

Rob Prop

By the way: Nice to know that MS-loving people appreciate the Informix technology
Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On