Topic
  • 5 replies
  • Latest Post - ‏2012-05-16T11:55:18Z by RamiroGuasti
SystemAdmin
SystemAdmin
1143 Posts

Pinned topic ado.net Informix IDS 11.50

‏2011-06-14T16:47:47Z |
Hello,

I try to connect a C# program to an IDS database.

I try this :


using IBM.Data.Informix; IfxConnection Connection = 

new IfxConnection(); IfxConnectionStringBuilder sB = 

new IfxConnectionStringBuilder(); sB.Database = 
"mytestdb"; sB.Server = 
"10.132.8.72:4775"; sB.Instance = 
"tcpxxxx"; sB.UserID = 
"informix"; sB.Password = 
"xxxxxxxx"; Connection.ConnectionString = sB.ToString(); Connection.Open();


NB : sB = Database=mytestdb;User ID=informix;Password=xxxxxxxx;Server=10.132.8.72:4775;Instance=tcpxxxx

I encounter this error in the execution on Connection.Open() (french message...) :

ERROR [08001] [IBM] SQL30081N  Erreur de communication détectée. Protocole : 
"TCP/IP".  API de communication utilisée : 
"SOCKETS".  Emplacement dans lequel l
'erreur a été détectée : "10.132.2.41". Fonction de communication détectant l'erreur : 
"recv".  Codes d
'erreur spécifiques du protocole : "*", "*", "0".  SQLSTATE=08001


I use ibm_data_server_driver_package_win32_FR_v97.exe that I downloaded here : https://www14.software.ibm.com/webapp/iwm/web/reg/download.do?source=swg-idsdpds&lang=en_US&S_PKG=win_32&cp=UTF-8

Do you have any idea ?

Thanks a lot
Updated on 2012-05-16T11:55:18Z at 2012-05-16T11:55:18Z by RamiroGuasti
  • SystemAdmin
    SystemAdmin
    1143 Posts

    Re: ado.net Informix IDS 11.50

    ‏2011-06-14T18:31:35Z  
    Hi,

    are you connecting to a drda port?

    The entry in sqlhost should look like this:

    dbserver_drda drsoctcp 10.132.8.72 4775

    Otherwise you have to define a new DBSERVERALIAS.

    And you don't need the keyword Instance=tcpxxxx.
    Don't what is means. I never use it.

    Good luck,
    Marion
  • SystemAdmin
    SystemAdmin
    1143 Posts

    Re: ado.net Informix IDS 11.50

    ‏2011-06-15T07:19:23Z  
    hello, thanks for your answer.

    I don't know if I use drda port... My sqlhosts is like this :

    
    tcpxxxx onsoctcp        10.132.8.72  tcpxxxx b=32000 shm0001 onipcshm 10.132.8.72 shm0001
    

    To find the port :
    
    </informix/etc>grep tcpxxxx /etc/services tcpxxxx         4775/tcp
    

    if I do onstat -m, I receive this error :
    
    09:04:15  listener-thread: err = -408: oserr = 0: errstr = : Invalid message type received from the sqlexec process.
    

    The keyword Instance was just a test. I think, I can replace it by :
    
    Database=mytestdb;User ID=informix;Password=xxxxxxxx;Server=10.132.8.72:4775;Instance=tcpxxxx
    


    Thanks for your help
  • SystemAdmin
    SystemAdmin
    1143 Posts

    Re: ado.net Informix IDS 11.50

    ‏2011-06-15T08:03:54Z  
    Hi,

    please do the following:

    Define a new DBSERVERALIAS
    in ONCONFIG:
    DBSERVERALIAS dbserver_drda

    in sqlhosts
    dbserver_drda drsoctcp 10.132.8.72 <port|service>

    Restart the server.

    Change your Server property to to:
    sB.Server = "10.132.8.72:<port of dbserver_drda>"

    HTH,

    Marion
  • SystemAdmin
    SystemAdmin
    1143 Posts

    Re: ado.net Informix IDS 11.50

    ‏2011-06-15T09:03:11Z  
    Hi,

    please do the following:

    Define a new DBSERVERALIAS
    in ONCONFIG:
    DBSERVERALIAS dbserver_drda

    in sqlhosts
    dbserver_drda drsoctcp 10.132.8.72 <port|service>

    Restart the server.

    Change your Server property to to:
    sB.Server = "10.132.8.72:<port of dbserver_drda>"

    HTH,

    Marion
    It works fine now ! Thanks a lot :-)
  • RamiroGuasti
    RamiroGuasti
    1 Post

    Re: ado.net Informix IDS 11.50

    ‏2012-05-16T11:55:18Z  
    Hi marions, thank very much for you advice. I spent much time trying to work EF over informix 11.50. Your reply opened my eyes. Thanks a lot!