ooRexx 4.2.0 RC2 - 64-bit; Windows; MS Access Sample Program Failure
The MSAccessDemo.rex sample program with Access 2010 (32-bit) fails with a misleading denial message. If this does work with the 32-bit version of ooRexx, an incompatibility message should be generated.
Console log:
Access is denied. *-* Compiled method UNKNOWN with scope "OLEObject" 94 *-* appAccess~NewCurrentDatabase(dbFileName, formatConstant) 62 *-* call createDataBaseFile dbFileName, accessApplication -- create database file, if necessary Error 92 running C:\Program Files\ooRexx\samples\ole\apps\MSAccessDemo.rex line 94: OLE error Error 92.906: OLE exception: Code: 800a7f47 Source: unavailable Description: An error occurred while trying to create the database.
Anonymous
Works for me:
C:\work.ooRexx\wc\main.4.2.0\samples\windows\ole\apps>MSAccessDemo.rex
You are running a 64-bit compiled ooRexx
This sample relies on the Microsoft Jet Database Engine.
There is no 64-bit version of Jet, therefore a 64-bit
compiled ooRexx can not run this sample. This sample
may be upgraded in the future to work with Access 2007
and its Microsoft Access Engine (ACE). ACE is also
32-bit. It is not clear at the current time whether ACE
will be ported to 64-bit.
Sorry, this sample is 32-bit only.
C:\work.ooRexx\wc\main.4.2.0\samples\windows\ole\apps>
C:\work.ooRexx\wc\main.4.2.0\samples\windows\ole\apps>rexx -v
Open Object Rexx Version 4.2.0
Build date: Jan 30 2014
Addressing Mode: 64
Copyright (c) IBM Corporation 1995, 2004.
Copyright (c) RexxLA 2005-2013.
All Rights Reserved.
This program and the accompanying materials are made available under
the terms of the Common Public License v1.0 which accompanies this
distribution or at
http://www.oorexx.org/license.html
C:\work.ooRexx\wc\main.4.2.0\samples\windows\ole\apps>
On the face of it, it doesn't look like you are executing the example that ships with ooRexx 4.2.0.
The problem is that the call to getAddressingMode (oleUtils) is failing...
Trace:
Also, the checking code in the samples should be checking for mode != 32, rather than mode == 64, to enter failure routine.
Committed revision 9895. [r9895] 4.2.0
Committed revision 9896. [r9896] trunk
Okay. I never install in Program Files, so the writing to a temp file worked fine for me.
Related
Commit: [r9895]
Commit: [r9896]