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

f90SQL-Lite for Intel Visual Fortran

Steven_L_Intel1
Employee
3,944 Views

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 Kudos
25 Replies
monarchi
Beginner
3,168 Views
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 Kudos
Steven_L_Intel1
Employee
3,168 Views
f90SQLDVF.dll - it's in the Redist folder of the ZIP file.
0 Kudos
edmund-dunlop
Beginner
3,168 Views

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 Kudos
Steven_L_Intel1
Employee
3,168 Views
Argh. Hadn't noticed that dependency. I'll add it to the ZIP file.
0 Kudos
onkelhotte
New Contributor II
3,168 Views

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 Kudos
Steven_L_Intel1
Employee
3,168 Views
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 Kudos
tom_c_lin
Beginner
3,168 Views
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 Kudos
Steven_L_Intel1
Employee
3,168 Views
Yes it does. Sorry if that wasn't clear.
0 Kudos
Nick2
New Contributor I
3,168 Views
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 Kudos
Steven_L_Intel1
Employee
3,168 Views
Try increasing the "Stack reserve" value in the Linker properties page. The default of 1MB is small. try 100MB.
0 Kudos
Nick2
New Contributor I
3,168 Views
That's better...

But now I'm getting

Unhandled exception at 0x0024f804 in fconsole1.exe: 0xC0000005: Access violation reading location 0x0098293c.
0 Kudos
Steven_L_Intel1
Employee
3,168 Views
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 Kudos
Nick2
New Contributor I
3,168 Views
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 Kudos
Steven_L_Intel1
Employee
3,168 Views
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 Kudos
Nick2
New Contributor I
3,168 Views
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 Kudos
Steven_L_Intel1
Employee
3,168 Views
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 Kudos
Nick2
New Contributor I
3,168 Views

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 Kudos
Steven_L_Intel1
Employee
3,168 Views
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 Kudos
Nick2
New Contributor I
3,168 Views
Ooops, sorry!I gotta make up my quota ofID10T errors for the month Smiley with tongue out [:-P]
0 Kudos
NH_Veldhuijzen
Beginner
3,060 Views

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 Kudos
Reply