OLE DB Access Error

edmichs Posted messages 13 Status Member -  
nagaD.scar Posted messages 4500 Status Member -
Hello,

hi!
<<Error accessing oledb
error number = 2032>> I established a connection to an Oracle database and everything works, but when I try a query to query my Oracle database, I get this error message:
Error accessing oledb
error number = 2032
failed to open the connection:
data source <BEST1>
PROVIDER OLEDB <OraOLEDB.Oracle>
system error delay:
source = OraOLEDB
error Number = -2147467259 (0*80004005)
I am working with Windev 17, please I don’t know what to do and I need help... Thank you

Configuration: Windows 7 / Chrome 52.0.2743.116

3 answers

  1. nagaD.scar Posted messages 4500 Status Member 255
     
    Hello,

    The first thing to do would be to provide the piece of code that isn't working x)

    More clearly, based on your post, I would say that you have a declared connector in your analysis. (I assume you have the Oracle drivers and that the connection is working). Are your queries created using the Windev query tool or do you write them manually? Are your connection details dynamic or static? Is your connection properly opened?

    In short, I need a bit more information because as it stands, all I can tell you is that your connection isn't working, but that's not going to help^^

    naga
    0
  2. edmichs Posted messages 13 Status Member
     
    Here is my code:

    gsdReqClient is a Data Source
    MyConnection is a Connection

    // Connection parameters

    IF NOT HDescribeConnection("MyConnection","system","Stage2016","BEST1","BEST1",hOledbOracle,hOLectureEcriture) THEN
    Info("incorrect parameters")
    Erreur(HErreurInfo())

    ELSE
    // Opening the connection
    HOuvreConnexion(MyConnection)

    Hourglass()
    // Executing the query
    IF NOT HExecuteSQLRequest(gsdReqClient, hDefaultRequest, "SELECT * FROM CLIENT") THEN
    Error(HErreurInfo())
    ELSE
    Info("The query contains "+ HNbRec(gsdReqClient) + " records.")
    END

    Hourglass(False)
    END

    I already have a connection established via OLE DB in my analysis, all Oracle drivers are properly installed and the connection I established works well, but when I execute a query it does not work.
    0
    1. nagaD.scar Posted messages 4500 Status Member 255
       



      HExécuteRequêteSQL(gsdReqClient, MaConnexion, hQueryWithoutCorrection, "SELECT champ1, champ2, champ3 FROM CLIENT")



      0
    2. nagaD.scar Posted messages 4500 Status Member 255
       
      ah also, check your connection:


      IF NOT OpenConnection(MyConnection) THEN
      Error(ErrorInfo())
      END


      And check your entry in tnsnames.ora
      0
    3. edmichs Posted messages 13 Status Member > nagaD.scar Posted messages 4500 Status Member
       
      Thank you already, but it doesn't always work. Here is the new error message it returns:

      OLE DB access error
      error number = 2032
      failed to open the connection:
      data source <BEST1>
      OLE DB PROVIDER <OraOLEDB.Oracle>
      connection error timeout:
      description = A multi-step OLE-DB operation generated errors.
      Check each available OLE-DB status value.
      No work was performed.
      source=Microsoft OLE DB Service Components
      Error Number=-2147217887 (0*8004e21)

      I checked my connection in test mode line by line and apparently that’s where the problem is, it doesn’t open the connection...
      all my entries are correct in my tnsnames.ora
      by the way, here’s my tnsnames.ora:

      # tnsnames.ora Network Configuration File: \app\Edy\product\11.2.0\dbhome_1\NETWORK\ADMIN\tnsnames.ora
      # Generated by Oracle configuration tools.

      BEST1 =
      (DESCRIPTION =
      (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = Edy-PC)(PORT = 1521))
      )
      (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = BEST1)
      )
      0
    4. nagaD.scar Posted messages 4500 Status Member 255
       




      HDécritConnexion("MyConnection","system","Stage2016","BEST1","",hOledbOracle,hOLectureEcriture)



      Normally, the data source is sufficient in Oracle.

      Oh, I also advise you to properly close the connection (HFermeConnexion) just in case (depending on your setup, you might have a limited or even unique number of connections - just to be safe, restart your Oracle service to cut any potential persistent connections).

      naga
      0
    5. edmichs Posted messages 13 Status Member > nagaD.scar Posted messages 4500 Status Member
       
      Sorry, but nothing... it always sends the same error message as at the beginning.
      If you have another piece of connection code that allows me to query my database, I'm all ears.
      0
  3. edmichs Posted messages 13 Status Member
     
    I have the native client for Windev 12 and not 17, is it possible to update it?
    0
    1. nagaD.scar Posted messages 4500 Status Member 255
       
      You can purchase an upgrade license, but you will probably need to make a direct request.
      The prices for the upgrade to the latest version of Windev:
      https://www.pcsoft.fr/pcsoft/tarifs.htm#oracle

      But since in your case you want an upgrade for version 17, you will likely have to make a direct request to them.
      0
    2. edmichs Posted messages 13 Status Member > nagaD.scar Posted messages 4500 Status Member
       
      All I need is this library and not all the native access. Please, if you have it installed, could you send it to me by email??? I would be more than grateful...
      0
    3. nagaD.scar Posted messages 4500 Status Member 255
       
      No, I think there's a license validation, so the DLL alone wouldn't be enough.. I’ll test it but I don’t know. However, I don’t have access to 17, I’m in 18, so there you go.
      0
    4. edmichs Posted messages 13 Status Member > nagaD.scar Posted messages 4500 Status Member
       
      Don't worry about the license, I think it could work with the DLL from version 18.
      0
    5. nagaD.scar Posted messages 4500 Status Member 255
       
      No, if each DLL were portable from one version to another, they wouldn't sell many licenses ^^ (and ultimately you could just rename your DLL from version 11)

      In fact, the license is tied to a key that is registered when you generate your exe. If there is no license, the exe will not be able to establish the connection.

      The possible solution would actually be to create a DLL (maybe a component would allow you to do that too) in version 11 of WinDev for transactions with Oracle, which you can then import into your project in version 18 to indirectly leverage native access. It's a bit cumbersome, but it should work.
      0