Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
29632 Discussions

f90SQL-Lite for Intel Visual Fortran

Steven_L_Intel1
Employé
9 142 Visites

With the permission of Canaima Software, I have attached a version of their f90SQL-Lite which works with Intel Visual Fortran. f90SQL is a Fortran-friendly library for ODBC database access, and is an easy way to interact with Oracle, Access, Excel and other ODBC-compliant applications. This is their CVF version with replacement modules that are edited and compiled for use with Intel Visual Fortran.

Unpack this to a convenient location on your system and follow the instructions in f90SQLIFORTREADME.TXT I have not (yet) gone through all of the examples and changed the batch files for ifort.

This software is not supported by Intel.

Edit: I missed two DLL files - f90SQLDVF.DLL and DFORRT.DLL See the updated README for information.

Message Edited by Steve_Lionel on 02-28-2006 08:59 AM

0 Compliments
25 Réponses
monarchi
Débutant
6 997 Visites
My apologies, Steve, but I can't determine which DLL is missing based on my reading of the updated Readme.txt file, the one dated 2/24/2006. Would you please post the name of it?

Thank you.

david
0 Compliments
Steven_L_Intel1
Employé
6 997 Visites
f90SQLDVF.dll - it's in the Redist folder of the ZIP file.
0 Compliments
edmund-dunlop
Débutant
6 997 Visites

You may also require another DLL (DFORRT.DLL) which can be extracted from VFRUN66BI.exe (get it here - http://h21007.www2.hp.com/dspp/ddl/ddl_Download_File_TRX/1,1249,2432,00.exe).

Edmund.

0 Compliments
Steven_L_Intel1
Employé
6 997 Visites
Argh. Hadn't noticed that dependency. I'll add it to the ZIP file.
0 Compliments
onkelhotte
Nouveau contributeur II
6 997 Visites

Will the f90sqldvf.dll work with the Pro version of f90sql as well?

I cant test it because we havent received our copy of IVF yet.

0 Compliments
Steven_L_Intel1
Employé
6 997 Visites
All you really need from this zip file is the .mod files, as those are the only changed files. The rest come directly from f90SQL. Since the .mod files include the interfaces to the Pro routines, it should work for you. Don't overwrite your existing f90sqldvf.dll with the one from this zip.
0 Compliments
tom_c_lin
Débutant
6 997 Visites
Steve, Does this f90sql_lit workwith IVF ver 9.0? If not, is there any other fortran SQL library available? Thanks in advance for the reply.
Tom Lin
0 Compliments
Steven_L_Intel1
Employé
6 997 Visites
Yes it does. Sorry if that wasn't clear.
0 Compliments
Nick2
Nouveau contributeur I
6 997 Visites
Does anyone else get an error,

Unhandled exception at 0x100015eb in fconsole1.exe: 0xC00000FD: Stack overflow.

at ExcelRead.f90, in line:

call f90SQLDriverConnect(ConnHndl, f90SQL_NULL_PTR, ConnStr, ConnStrOut, ConnStrLength, SQL_DRIVER_COMPLETE,iRet)
0 Compliments
Steven_L_Intel1
Employé
6 997 Visites
Try increasing the "Stack reserve" value in the Linker properties page. The default of 1MB is small. try 100MB.
0 Compliments
Nick2
Nouveau contributeur I
6 997 Visites
That's better...

But now I'm getting

Unhandled exception at 0x0024f804 in fconsole1.exe: 0xC0000005: Access violation reading location 0x0098293c.
0 Compliments
Steven_L_Intel1
Employé
6 997 Visites
Time to break out the debugger then. But make sure that array sizes are what you think they should be when passing arguments, etc.
0 Compliments
Nick2
Nouveau contributeur I
6 997 Visites
Gladly. Do tell me where to find source for DFORRT.DLL called by f90SQLDVF.dll, function f90SQLDriverConnect, because I pretty much stink at disassembly debugging. I crash as soon as I "step into" the f90SQLDriverConnect call.

0024F804 rep movs dword ptr es:[edi],dword ptr [esi]

(bad line above)
0 Compliments
Steven_L_Intel1
Employé
6 997 Visites
You need to look at the arguments being passed from your code. Just before the call, examine the stack and make sure that the proper things are being passed. If there is a bug in F90SQL, then you're out of luck, I'm afraid.
0 Compliments
Nick2
Nouveau contributeur I
6 997 Visites
Good advice, turns out I had to change calling convention to CVF.

But now the linker can't find _SYSTEM@8, thanks to the CVF calling convention. How do I deal with CALL SYSTEM(...)?
0 Compliments
Steven_L_Intel1
Employé
6 997 Visites
If you're using the library and module I posted here, you do NOT need to change the calling convention. Be sure you are using the module. USE IFPORT will help if you must use CVF conventions.
0 Compliments
Nick2
Nouveau contributeur I
6 997 Visites

Unfortunately, you only posted the free version. I would bet most people experienced with SQLhabitually usethe functions in the "pro" version. In the end - being thatF90SQLis very very very similar to ODBC API, I'd be willing to use ODBC API functions if anyone has a few samples; I have not yet done Windows API or anything similar in Fortran. Also, being that they actually discontinued F90SQL, perhaps they would be willing to give you a "pro" version for the Intel compiler?

But I got off my original question. I included libIFPORT.lib, and I'm still getting

Error1 error LNK2019: unresolved external symbol _SYSTEM@8 referenced in function _MAIN__FConsole1

0 Compliments
Steven_L_Intel1
Employé
6 997 Visites
Did I say anything about libifport.lib? No. I said "USE IFPORT". You need to use the module which provides the declaration including directives to set the calling mechanism correct.

Add USE IFPORT to the routine in which you call SYSTEM and it should work ok.
0 Compliments
Nick2
Nouveau contributeur I
6 997 Visites
Ooops, sorry!I gotta make up my quota ofID10T errors for the month Smiley with tongue out [:-P]
0 Compliments
NH_Veldhuijzen
Débutant
6 889 Visites

Dear all, and particularly Dear Steve Lionel,

I installed F90SQL from the ZIP-file made available by Steve Lionel some time ago. When I tried to run the ExcelReadLite example, I came through the compilation succesfully, but I could not link. I think some LIB-file is out-of-date. Do you have any suggestions? (I tried to contact Canaimasoft, but they seem to have vanished into thin air.)

Yours sincerely,

Niels H. Veldhuijzen
Arnhem, The Netherlands

0 Compliments
Répondre