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

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
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
nagaD.scar Posted messages 4500 Status Member 255
 



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



0
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
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
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
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
edmichs Posted messages 13 Status Member
 
I have the native client for Windev 12 and not 17, is it possible to update it?
0
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
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
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
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
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