[Newbies] Re: FFI+ODBC Troubles

Victor Metelitsa vvm13ru at gmail.com
Fri Jun 5 10:59:40 UTC 2009


As I can see ODBC works when I load FFI via Universe Browser. Another
methods like executing of
http://map.squeak.org/accountbyid/cf58c358-46ee-465e-b6db-2740e9b32a53/files/InstallFFI4.st
 is a failure (with crashed VM or coerce errors).


On Mon, Jun 1, 2009 at 10:53 AM, Victor Metelitsa <vvm13ru at gmail.com> wrote:

> Please help me.
> I am trying to switch from VisualWorks to Squeak but I can't connect to any
> my DB2 and Oracle databases.
>
> I am using this files:
> ftp://ftp.squeak.org/3.10/win/SqueakVM-Win32-3.10.6-bin.zip
> ftp://ftp.squeak.org/3.10/Squeak3.10.2-7179-basic.zip
> http://ftp.squeak.org/3.0/platform-independent/SqueakV3.sources.gz
>
> http://map.squeak.org/accountbyid/cf58c358-46ee-465e-b6db-2740e9b32a53/files/InstallFFI4.st
>
> At first I tried old ODBC code from
> http://wiki.squeak.org/squeak/uploads/2480/ODBC-dgd.10.cs.gz
> and got "Could not coerce arguments" at my win32 (XP and Windows 2003
> Server) computers. I can't understand this because all seems right.
> At SqueakDebug.log we can see
>
> ------------------------------------
> Error: Could not coerce arguments
> 28 May 2009 4:18:23 pm
>
> VM: Win32 - a SmalltalkImage
> Image: Squeak3.10.2 [latest update: #7179]
>
> SecurityManager state:
> Restricted: false
> FileAccess: true
> SocketAccess: true
> Working Dir C:\squeak\1
> Trusted Dir C:\squeak\1\vvm
> Untrusted Dir C:\My Squeak\vvm
>
> ODBCLibrary(Object)>>error:
>     Receiver: an ODBCLibrary
>     Arguments and temporary variables:
>         aString:     'Could not coerce arguments'
>     Receiver's instance variables:
>         handle:     @ 16r4BF70000
>         name:     'odbc32'
>
> ODBCLibrary(Object)>>externalCallFailed
>     Receiver: an ODBCLibrary
>     Arguments and temporary variables:
>         errCode:     6
>     Receiver's instance variables:
>         handle:     @ 16r4BF70000
>         name:     'odbc32'
>
>
> ODBCLibrary>>sqlBindCol:columnNumber:targetType:targetValue:bufferLength:strLength:
>     Receiver: an ODBCLibrary
>     Arguments and temporary variables:
>         statementHandle:     a SQLHSTMT
>         columnNumber:     1
>         targetType:     1
>         targetValue:     an ExternalData
>         bufferLength:     8192
>         strLenght:     a SQLInteger
>     Receiver's instance variables:
>         handle:     @ 16r4BF70000
>         name:     'odbc32'
>
> ODBCColumn>>bindBuffer
>     Receiver: an ODBCColumn DUMMY (VarChar 1 nullable)
>     Arguments and temporary variables:
> ------------------------------------
> where
>
> sqlBindCol: statementHandle columnNumber: columnNumber targetType:
> targetType targetValue: targetValue bufferLength: bufferLength strLength:
> strLenght
>  "SQLRETURN
>  SQLGetData(
>  SQLHSTMT StatementHandle,
>  SQLUSMALLINT ColumnNumber,
>  SQLSMALLINT TargetType,
>  SQLPOINTER TargetValue,
>  SQLINTEGER BufferLength,
>  SQLINTEGER *StrLen_or_Ind);"
>  <cdecl: short 'SQLBindCol' (SQLHSTMT ulong short void* long SQLInteger*)>
>  ^ self externalCallFailed
>
> I think all types are correct.
>
> Also at Windows 2003 x64 I receive "Error:[Microsoft][ODBC Driver Manager]
> Data source name not found and no default driver specified [State:IM002]"
> for any datasource.
>
> After that I am trying ODBC code from
> http://www.squeaksource.com/ODBC/ODBC-rjl.10.mcz
>
> | con rs |
> con _ ODBCConnection dsn:'somedsn' user:'somename' password:'somepwd'.
> rs := con resultSetFor: 'SELECT ''xxx'' manana FROM dual'.
> (con query: 'SELECT ''xxx'' manana FROM dual') results do:[:row |
> Transcript show: row; cr].
> con close.
>
> squeak image crashes somewhere near calling of "con resultSetFor:". No
> SqueakDebug.log generated in this case.  Crash.dmp contains:
> ------------------------------------
> ---------------------------------------------------------------------
> Mon Jun 01 10:37:54 2009
>
> Exception code: C0000005
> Exception addr: 0040BD85
> Access violation (read access) at 91233BDA
> EAX:91233BDA    EBX:96A4E35C    ECX:00000003    EDX:96A4E35F
> ESI:11233B78    EDI:91233BDB    EBP:0000138C    ESP:0006F998
> EIP:0040BD85    EFL:00010286
> FP Control: FFFF027F
> FP Status:  FFFF5061
> FP Tag:     FFFFFFFF
>
> Hardware information:
>     Manufacturer: Unknown
>     Model: Unknown
>     Number of processors: 1
>     Page size: 4096
>
> Memory Information (upon launch):
>     Physical Memory Size: 2097151 kbytes
>     Physical Memory Free: 1681472 kbytes
>     Page File Size: 4194303 kbytes
>     Page File Free: 4194303 kbytes
>     Virtual Memory Size: 2097151 kbytes
>     Virtual Memory Free: 2064020 kbytes
>     Memory Load: 40 percent
>
> Processor 0: AMD Athlon(tm) 64 Processor 3400+
>     Identifier: x86 Family 15 Model 12 Stepping 0
>     ~MHZ: 2411
>
> Operating System: Microsoft Windows Server 2003 (Build 3790 Service Pack 1)
>     Registered Owner: unnamed user
>     Registered Company: unknown organization
>     SP major version: 1
>     SP minor version: 0
>     Suite mask: 110
>     Product type: 3
>
> Display Information:
>     Graphics adapter name: NVIDIA GeForce4 Ti 4200
>     Primary monitor resolution: 1024 x 768
>
> Device: NVIDIA GeForce4 Ti 4200
>     Adapter String: GeForce4 Ti 4200
>     Bios String: Version 4.25.00.29.00
>     Chip Type: GeForce4 Ti 4200
>     DAC Type: Integrated RAMDAC
>     Memory Size: 0x04000000
>
> Driver Versions:
>     nv4_disp: 6.14.10.9371
>
> VM Version: Squeak 3.10.6 (release) from Aug 30 2007
> Compiler: gcc 2.95.2 19991024 (release)
>
> Current byte code: 200
> Primitive index: 264
>
> Loaded plugins:
>     odbc32
>     SqueakFFIPrims 1 February 2007 (e)
>     LargeIntegers v1.5 1 February 2007 (i)
>     Matrix2x3Plugin 1 February 2007 (i)
>     FloatArrayPlugin 1 February 2007 (i)
>     BitBltPlugin 1 February 2007 (i)
>     B2DPlugin 1 February 2007 (i)
>     SecurityPlugin 1 February 2007 (i)
>     FilePlugin 1 February 2007 (i)
>     MiscPrimitivePlugin 1 February 2007 (i)
>
>
> Stack dump:
> ------------------------------------
>
> (Sorry for my English)
> Victor
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/beginners/attachments/20090605/e0095087/attachment-0001.htm


More information about the Beginners mailing list