Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations strongm on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Delphi BDE BLOB problem

Status
Not open for further replies.

Visroni

Programmer
Jun 11, 2012
6
RS
Hello all,

this is my first post, but i read a lot from this forum in the past.

I have problem, with BDE
I am trying to connect to Oracle Lite 40 ODBC driver database, and i tryed all types from delphi, ado,dbexpress etc
but i could connect only with BDE (all other types are reporting bad login? but with BDE login works?) and the problem i am experiencing with BDE is that when for example executing SQL * FROM some_table - BLOB field is not read? it is completely "ignored", anyone have idea, why?
 
Unfortunately I don't know specifics, but first of all, BDE is extremely outdated, and second of all, I have heard of BDE blob issues which were resolved by changing connection to ADO. Our company has switched from BDE/ODBC to strictly ADO and this has cured tons of issues, including most importantly, speed. However this was for Microsoft SQL Server 2000+ and I'm not sure if the same applies to Oracle.


JD Solutions
 
well, i agree athat BDE is outdated, but ONLY with BDE i could connect to that ODBC database (all others reported bad login?!!) but with BDE , as i mentioned above, i cant see blob fields.
(database is using Oracle lite 40 ODBC driver)

 
You might want to try specifying the fields in your SELECT clause or use a separate query to pull the Blob field.
 
You mention that the BLOB field is not read. I'm not sure exactly what that means. In the field's Editor, is the blob field listed as a returned column? If so, what datatype does it get returned back as, and what type of data should be in the field? (i.e. text, image, file, etc...)
 
hi
thank you all for your replies
but BLOB field is NOT listed, even if i "force" it FieldByName , says not found
BUT when i use for example WinSQL and list all fields, blob field is there, and i can read it from winsql
 
The BDE hasn't been updated for a while, there is a possibility that it just cannot work with the current version of Oracle Lite you are using. You may want to download an older version, to see if it solves your problem.

As far as connecting to Oracle with ADO, you may want to look at the last post from here. Not sure it is the cause of your issues on using ADO, but worth a look.
 
thanks for reply, but the problem i have with ADO/Oracle is not that

simple, with ANY other connection but BDE - i get wrong user/password, but with BDE works (but no blob files, probably because BDE is outdated and cant read oracle lite blob field)
 
When attempting ADO, are you using the TADOQuery or TADOConnection? Because the TADOQuery has an issue (issue or not?) where if you directly assign the connection string to the TADOQuery.ConnectionString and connect that way, if you disconnect/reconnect it, the password will be gone (need to re-assign connection string each time). Could this be your issue?

Also, perhaps show us the connection string you're trying to use (password altered)?


JD Solutions
 
I don't see why Oracle won't work with ADO. I have multiple projects that use Oracle with TADOQuery.
As Jerry pointed out, the problem lies probably in your connection string.
Please show us some code so we can help.

/Daddy

-----------------------------------------------------
What You See Is What You Get
Never underestimate tha powah of tha google!
 
thank you all for replies, but no matter if i use adoconnection or adoquery, the connection string is built the same way,
i drop for example adoconnection, connection string , ODBC provider,use connection string - build - machine data source, select ODBC database, i enter username / password , and when i try to test connection i get oracle POL-3013 - error = bad password/username, BUT that same pwd/password works with BDE - so password/username is correct.
connection string is something like this
DSN=WDB;DataBase=WDB;UID=XXX;PWD=XXXX;
i tryed to replace UID - username ID and pwd with password - but result same


 
I see you are using a DSN. Is it a system DSN or user DSN.
Anyway you can always specify the full connectionstring.

look here for more clues:

/Daddy

-----------------------------------------------------
What You See Is What You Get
Never underestimate tha powah of tha google!
 
hi,
it is machine DSN, for some strange reason, i cant connect ONLY with BDE
with ADO it reports POL-3130 - as bad password
 
If you are using a DSN, then why should you include the database info in your string also? Isn't the DSN holding this info for you? At least in MS SQL, if I use a DSN, then the only other thing I need to provide is the Password. Not sure about Oracle.

I've also heard somewhere that Windows plans to abolish this ODBC DSN soon. Like Whosrdaddy posted above, your connection string should looks more like this (if not using DSN):

Provider=msdaora;Data Source=MyOracleDB;User Id=myUsername;Password=myPassword;


JD Solutions
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top