I am running VW 7.9 32-bit image on a Win7 64-bit virtual desktop. I can run Glorp tests using SQLite if I copy the sqLite3.dll into my bin directory at C:\Program Files (x86)\Cincom\vw7.9\bin\win. If I copy the "Oracle Instant Client" oci.dll from either the 32 bit package (instantclient-basic-nt-11.2.0.3.0.zip) or the 64 bit package (instantclient-basic-windows.x64-11.2.0.3.0) into that same directory I get a LibraryNotLoadedError.
Any one see anything obviously wrong? Unhandled exception: SUnit.TestResourceError optimized [] in [] in [] in SUnit.TestSuite>>runUsing: BlockClosure>>cull: LibraryNotLoadedError(GenericException)>>performHandler: LibraryNotLoadedError(GenericException)>>propagatePrivateFrom: LibraryNotLoadedError(GenericException)>>propagateFrom: LibraryNotLoadedError(GenericException)>>propagate LibraryNotLoadedError(GenericException)>>raiseSignal LibraryNotLoadedError class(GenericException class)>>raiseWith: ExternalLibrary>>primLoadLibrary: ExternalLibrary>>load ExternalLibrary>>mapAddressForName: ExternalLibraryHolder>>mapAddressForName: ExternalMethod class>>mapAddressFor:library: optimized [] in OracleConnection class>>supportMethod: [] in LinkedOrderedCollection>>detect:ifNone: LinkedOrderedCollection(OrderedCollection)>>do: LinkedOrderedCollection>>ownDo: LinkedOrderedCollection>>performDo:block:path: LinkedOrderedCollection>>do: LinkedOrderedCollection>>detect:ifNone: OracleThreadedConnection class(OracleConnection class)>>supportMethod: OracleThreadedConnection(OracleConnection)>>supportStatementCaching Glorp.VWDatabaseAccessor>>loginIfError: Glorp.VWDatabaseAccessor(Glorp.DatabaseAccessor)>>login Glorp.GlorpDatabaseLoginResource>>setUp Glorp.GlorpDatabaseLoginResource(SUnit.TestResource)>>initialize detailed stack: ---------------------------------------------------------------------- LibraryNotLoadedError class(GenericException class)>>raiseWith: Receiver: a LibraryNotLoadedError class Instance Variables: superclass = ExternalLibraryError methodDict = a MethodDictionary[0] format = 16394 subclasses = nil instanceVariables = nil organization = name = #LibraryNotLoadedError classPool = nil environment = a NameSpace[53] notifierString = 'Could not load library' Arguments: parameter = a SystemError(#'io error',193) Context PC = 23 ---------------------------------------------------------------------- ExternalLibrary>>primLoadLibrary: Receiver: an ExternalLibrary Instance Variables: handle = nil name = #'oci.dll' owners = a WeakArray[1] Arguments: libraryName = a ByteArray[14] Temporaries: errorCode = a SystemError(#'io error',193) Context PC = 13 ---------------------------------------------------------------------- ExternalLibrary>>load Receiver: an ExternalLibrary Instance Variables: handle = nil name = #'oci.dll' owners = a WeakArray[1] Temporaries: nameOrNil = a ByteArray[14] Context PC = 17 ---------------------------------------------------------------------- ExternalLibrary>>mapAddressForName: Receiver: an ExternalLibrary Instance Variables: handle = nil name = #'oci.dll' owners = a WeakArray[1] Arguments: nameID = #OCIStmtPrepare2 Context PC = 7 ---------------------------------------------------------------------- ExternalLibraryHolder>>mapAddressForName: Receiver: an ExternalLibraryHolder Instance Variables: name = 'oci.dll' directories = a LinkedOrderedCollection[0] library = an ExternalLibrary owner = OracleNTThreadedInterface Arguments: nameID = #OCIStmtPrepare2 Context PC = 21 ---------------------------------------------------------------------- ExternalMethod class>>mapAddressFor:library: Receiver: an ExternalMethod class Instance Variables: superclass = CompiledMethod methodDict = a MethodDictionary[40] format = 20493 subclasses = nil instanceVariables = an Array[10] organization = ('initialize-release' #for: #for:selector: #releaseHandle #updateLayoutCache) ('address mapping' #mapAddress #mapAddressFor: #unlinkedCall:arguments:) ('accessing' #argumentKinds #datumClass #external #handle #libraries #methodSelector #name #ordinal #ordinal: #owner #referentAddress #resultType #specifierFlags #structArgSize #structReturnSize #undefinedExternals #virtuals) ('testing' #isExternalMethod #isLinkedFor: #isVirtual) ('copying' #postCopy #withAdditionalProperties:) ('comparing' #=) ('tracing' #traceWalkFrom:) ('binary storage' #isCodeReaderEquivalentTo: #postLoad #postReadGeneralStructureOn: #storeGeneralStructureOn:) ('private' #computeStructReturnSize #copyStateFromOldVersion: #findVirtualHandleForClass: #referentAddress: #virtuals:) name = #ExternalMethod classPool = a NameSpaceOfClass[0] environment = a NameSpace[53] Arguments: anExternal = ExternalMethod OracleInterface>>OCIStmtPrepare2:with:with:with:with:with:with:with:with: aLibrary = an ExternalLibraryHolder Context PC = 10 ---------------------------------------------------------------------- optimized [] in OracleConnection class>>supportMethod: Receiver: an UndefinedObject Arguments: aLibrary = an ExternalLibraryHolder Temporaries: .testMethod = ExternalMethod OracleInterface>>OCIStmtPrepare2:with:with:with:with:with:with:with:with: Context PC = 8 ---------------------------------------------------------------------- [] in LinkedOrderedCollection>>detect:ifNone: Receiver: a LinkedOrderedCollection Instance Variables: firstIndex = 1 lastIndex = 2 backup = an OrderedCollection[1] Arguments: each = an ExternalLibraryHolder Temporaries: .aBlock = BlockClosure [] in OracleConnection class>>supportMethod: Context PC = 6 ---------------------------------------------------------------------- LinkedOrderedCollection(OrderedCollection)>>do: Receiver: a LinkedOrderedCollection Instance Variables: firstIndex = 1 lastIndex = 2 backup = an OrderedCollection[1] Arguments: aBlock = BlockClosure [] in LinkedOrderedCollection>>detect:ifNone: Temporaries: index = 1 Context PC = 17 ---------------------------------------------------------------------- LinkedOrderedCollection>>ownDo: Receiver: a LinkedOrderedCollection Instance Variables: firstIndex = 1 lastIndex = 2 backup = an OrderedCollection[1] Arguments: aBlock = BlockClosure [] in LinkedOrderedCollection>>detect:ifNone: Context PC = 6 ---------------------------------------------------------------------- LinkedOrderedCollection>>performDo:block:path: Receiver: a LinkedOrderedCollection Instance Variables: firstIndex = 1 lastIndex = 2 backup = an OrderedCollection[1] Arguments: doSelector = #ownDo: aBlock = BlockClosure [] in LinkedOrderedCollection>>detect:ifNone: aPath = an IdentitySet[1] Context PC = 15 ---------------------------------------------------------------------- LinkedOrderedCollection>>do: Receiver: a LinkedOrderedCollection Instance Variables: firstIndex = 1 lastIndex = 2 backup = an OrderedCollection[1] Arguments: aBlock = BlockClosure [] in LinkedOrderedCollection>>detect:ifNone: Context PC = 8 ---------------------------------------------------------------------- LinkedOrderedCollection>>detect:ifNone: Receiver: a LinkedOrderedCollection Instance Variables: firstIndex = 1 lastIndex = 2 backup = an OrderedCollection[1] Arguments: aBlock = BlockClosure [] in OracleConnection class>>supportMethod: exceptionBlock = BlockClosure [] in OracleConnection class>>supportMethod: Context PC = 8 ---------------------------------------------------------------------- OracleThreadedConnection class(OracleConnection class)>>supportMethod: Receiver: an OracleThreadedConnection class Instance Variables: superclass = OracleConnection methodDict = a MethodDictionary[7] format = 16415 subclasses = nil instanceVariables = an Array[1] organization = ('testing' #isNonBlocking) ('private-execution' #acquireExternal: #dismissExternal #serverAttachConnectionPoolExternal #serverDetachExternal) ('accessing' #connectionPool #connectionPool:) name = #OracleThreadedConnection classPool = a NameSpaceOfClass[0] environment = a NameSpace[199] environmentMap = nil xif = an OracleNTThreadedInterface xifMap = an IdentityDictionary[13] dependents = nil signalMap = an IdentityDictionary[11] libraryInitialized = false Arguments: selector = #OCIStmtPrepare2:with:with:with:with:with:with:with:with: Temporaries: xifClass = OracleNTThreadedInterface testMethod = ExternalMethod OracleInterface>>OCIStmtPrepare2:with:with:with:with:with:with:with:with: mappedMethodHandle = nil Context PC = 48 ---------------------------------------------------------------------- OracleThreadedConnection(OracleConnection)>>supportStatementCaching Receiver: an OracleThreadedConnection Instance Variables: stateHolder = a ValueHolder on: #new traceStream = nil traceLevel = 0 participants = a WeakArray[0] participantsSemaphore = a RecursionLock transaction = nil username = 'myUserName' password = 'ca11pp3r' environment = 'shortServerName:myPortNumber/DATABASENAME' transactionCoordinator = a ValueHolder on: false cachedSession = nil isolationLevel = nil encoding = nil henvHolder = a ValueHolder on: nil herrHolder = a ValueHolder on: nil hsvcctxHolder = a ValueHolder on: nil hsrvrHolder = a ValueHolder on: nil hsessHolder = a ValueHolder on: nil htxnHolder = a ValueHolder on: nil executionMode = nil transactionMode = #NEW authenticationMode = nil useStatementCaching = false attributeLengthPointerHolder = a ValueHolder on: nil attributePointerHolder = a ValueHolder on: nil parameterPointerHolder = a ValueHolder on: nil descriptorPointerHolder = a ValueHolder on: nil unicodeEncoding = nil oracleEncodingId = 0 oracleUnicodeEncodingId = 0 connectionPool = nil Context PC = 6 ---------------------------------------------------------------------- Glorp.VWDatabaseAccessor>>loginIfError: Receiver: a Glorp.VWDatabaseAccessor Instance Variables: connection = an OracleThreadedConnection currentLogin = a Login(a Glorp.OraclePlatform, 'myUserName', 'shortServerName:myPortNumber/DATABASENAME', nil) logging = nil logger = nil logOnly = false reusePreparedStatements = true deniedCommands = nil mutex = a Semaphore[0] dependents = nil driverSession = nil preparedStatements = a Glorp.CacheManager Arguments: aBlock = BlockClosure [] in Glorp.DatabaseAccessor>>login Context PC = 25 ---------------------------------------------------------------------- Glorp.VWDatabaseAccessor(Glorp.DatabaseAccessor)>>login Receiver: a Glorp.VWDatabaseAccessor Instance Variables: connection = an OracleThreadedConnection currentLogin = a Login(a Glorp.OraclePlatform, 'myUserName', 'shortServerName:myPortNumber/DATABASENAME', nil) logging = nil logger = nil logOnly = false reusePreparedStatements = true deniedCommands = nil mutex = a Semaphore[0] dependents = nil driverSession = nil preparedStatements = a Glorp.CacheManager Context PC = 5 ---------------------------------------------------------------------- |
What if you install Oracle XE does that work ?
@+Maarten,
> "Steve Cline" <[hidden email]> | > I am running VW 7.9 32-bit image on a Win7 64-bit virtual desktop. I can run > Glorp tests using SQLite if I copy the sqLite3.dll into my bin directory at > C:\Program Files (x86)\Cincom\vw7.9\bin\win. If I copy the "Oracle Instant > Client" oci.dll from either the 32 bit package > (instantclient-basic-nt-11.2.0.3.0.zip) or the 64 bit package > (instantclient-basic-windows.x64-11.2.0.3.0) into that same directory I get > a LibraryNotLoadedError. > > Any one see anything obviously wrong? > > > > Unhandled exception: SUnit.TestResourceError > optimized [] in [] in [] in SUnit.TestSuite>>runUsing: > BlockClosure>>cull: > LibraryNotLoadedError(GenericException)>>performHandler: > LibraryNotLoadedError(GenericException)>>propagatePrivateFrom: > LibraryNotLoadedError(GenericException)>>propagateFrom: > LibraryNotLoadedError(GenericException)>>propagate > LibraryNotLoadedError(GenericException)>>raiseSignal > LibraryNotLoadedError class(GenericException class)>>raiseWith: > ExternalLibrary>>primLoadLibrary: > ExternalLibrary>>load > ExternalLibrary>>mapAddressForName: > ExternalLibraryHolder>>mapAddressForName: > ExternalMethod class>>mapAddressFor:library: > optimized [] in OracleConnection class>>supportMethod: > [] in LinkedOrderedCollection>>detect:ifNone: > LinkedOrderedCollection(OrderedCollection)>>do: > LinkedOrderedCollection>>ownDo: > LinkedOrderedCollection>>performDo:block:path: > LinkedOrderedCollection>>do: > LinkedOrderedCollection>>detect:ifNone: > OracleThreadedConnection class(OracleConnection class)>>supportMethod: > OracleThreadedConnection(OracleConnection)>>supportStatementCaching > Glorp.VWDatabaseAccessor>>loginIfError: > Glorp.VWDatabaseAccessor(Glorp.DatabaseAccessor)>>login > Glorp.GlorpDatabaseLoginResource>>setUp > Glorp.GlorpDatabaseLoginResource(SUnit.TestResource)>>initialize > > > detailed stack: > > ---------------------------------------------------------------------- > LibraryNotLoadedError class(GenericException class)>>raiseWith: > Receiver: > a LibraryNotLoadedError class > Instance Variables: > superclass = ExternalLibraryError > methodDict = a MethodDictionary[0] > format = 16394 > subclasses = nil > instanceVariables = nil > organization = > name = #LibraryNotLoadedError > classPool = nil > environment = a NameSpace[53] > notifierString = 'Could not load library' > Arguments: > parameter = a SystemError(#'io error',193) > Context PC = 23 > > ---------------------------------------------------------------------- > ExternalLibrary>>primLoadLibrary: > Receiver: > an ExternalLibrary > Instance Variables: > handle = nil > name = #'oci.dll' > owners = a WeakArray[1] > Arguments: > libraryName = a ByteArray[14] > Temporaries: > errorCode = a SystemError(#'io error',193) > Context PC = 13 > > ---------------------------------------------------------------------- > ExternalLibrary>>load > Receiver: > an ExternalLibrary > Instance Variables: > handle = nil > name = #'oci.dll' > owners = a WeakArray[1] > Temporaries: > nameOrNil = a ByteArray[14] > Context PC = 17 > > ---------------------------------------------------------------------- > ExternalLibrary>>mapAddressForName: > Receiver: > an ExternalLibrary > Instance Variables: > handle = nil > name = #'oci.dll' > owners = a WeakArray[1] > Arguments: > nameID = #OCIStmtPrepare2 > Context PC = 7 > > ---------------------------------------------------------------------- > ExternalLibraryHolder>>mapAddressForName: > Receiver: > an ExternalLibraryHolder > Instance Variables: > name = 'oci.dll' > directories = a LinkedOrderedCollection[0] > library = an ExternalLibrary > owner = OracleNTThreadedInterface > Arguments: > nameID = #OCIStmtPrepare2 > Context PC = 21 > > ---------------------------------------------------------------------- > ExternalMethod class>>mapAddressFor:library: > Receiver: > an ExternalMethod class > Instance Variables: > superclass = CompiledMethod > methodDict = a MethodDictionary[40] > format = 20493 > subclasses = nil > instanceVariables = an Array[10] > organization = ('initialize-release' #for: #for:selector: > #releaseHandle #updateLayoutCache) > ('address mapping' #mapAddress #mapAddressFor: #unlinkedCall:arguments:) > ('accessing' #argumentKinds #datumClass #external #handle #libraries > #methodSelector #name #ordinal #ordinal: #owner #referentAddress #resultType > #specifierFlags #structArgSize #structReturnSize #undefinedExternals > #virtuals) > ('testing' #isExternalMethod #isLinkedFor: #isVirtual) > ('copying' #postCopy #withAdditionalProperties:) > ('comparing' #=) > ('tracing' #traceWalkFrom:) > ('binary storage' #isCodeReaderEquivalentTo: #postLoad > #postReadGeneralStructureOn: #storeGeneralStructureOn:) > ('private' #computeStructReturnSize #copyStateFromOldVersion: > #findVirtualHandleForClass: #referentAddress: #virtuals:) > > name = #ExternalMethod > classPool = a NameSpaceOfClass[0] > environment = a NameSpace[53] > Arguments: > anExternal = ExternalMethod > OracleInterface>>OCIStmtPrepare2:with:with:with:with:with:with:with:with: > aLibrary = an ExternalLibraryHolder > Context PC = 10 > > ---------------------------------------------------------------------- > optimized [] in OracleConnection class>>supportMethod: > Receiver: > an UndefinedObject > Arguments: > aLibrary = an ExternalLibraryHolder > Temporaries: > .testMethod = ExternalMethod > OracleInterface>>OCIStmtPrepare2:with:with:with:with:with:with:with:with: > Context PC = 8 > > ---------------------------------------------------------------------- > [] in LinkedOrderedCollection>>detect:ifNone: > Receiver: > a LinkedOrderedCollection > Instance Variables: > firstIndex = 1 > lastIndex = 2 > backup = an OrderedCollection[1] > Arguments: > each = an ExternalLibraryHolder > Temporaries: > .aBlock = BlockClosure [] in OracleConnection class>>supportMethod: > Context PC = 6 > > ---------------------------------------------------------------------- > LinkedOrderedCollection(OrderedCollection)>>do: > Receiver: > a LinkedOrderedCollection > Instance Variables: > firstIndex = 1 > lastIndex = 2 > backup = an OrderedCollection[1] > Arguments: > aBlock = BlockClosure [] in LinkedOrderedCollection>>detect:ifNone: > Temporaries: > index = 1 > Context PC = 17 > > ---------------------------------------------------------------------- > LinkedOrderedCollection>>ownDo: > Receiver: > a LinkedOrderedCollection > Instance Variables: > firstIndex = 1 > lastIndex = 2 > backup = an OrderedCollection[1] > Arguments: > aBlock = BlockClosure [] in LinkedOrderedCollection>>detect:ifNone: > Context PC = 6 > > ---------------------------------------------------------------------- > LinkedOrderedCollection>>performDo:block:path: > Receiver: > a LinkedOrderedCollection > Instance Variables: > firstIndex = 1 > lastIndex = 2 > backup = an OrderedCollection[1] > Arguments: > doSelector = #ownDo: > aBlock = BlockClosure [] in LinkedOrderedCollection>>detect:ifNone: > aPath = an IdentitySet[1] > Context PC = 15 > > ---------------------------------------------------------------------- > LinkedOrderedCollection>>do: > Receiver: > a LinkedOrderedCollection > Instance Variables: > firstIndex = 1 > lastIndex = 2 > backup = an OrderedCollection[1] > Arguments: > aBlock = BlockClosure [] in LinkedOrderedCollection>>detect:ifNone: > Context PC = 8 > > ---------------------------------------------------------------------- > LinkedOrderedCollection>>detect:ifNone: > Receiver: > a LinkedOrderedCollection > Instance Variables: > firstIndex = 1 > lastIndex = 2 > backup = an OrderedCollection[1] > Arguments: > aBlock = BlockClosure [] in OracleConnection class>>supportMethod: > exceptionBlock = BlockClosure [] in OracleConnection > class>>supportMethod: > Context PC = 8 > > ---------------------------------------------------------------------- > OracleThreadedConnection class(OracleConnection class)>>supportMethod: > Receiver: > an OracleThreadedConnection class > Instance Variables: > superclass = OracleConnection > methodDict = a MethodDictionary[7] > format = 16415 > subclasses = nil > instanceVariables = an Array[1] > organization = ('testing' #isNonBlocking) > ('private-execution' #acquireExternal: #dismissExternal > #serverAttachConnectionPoolExternal #serverDetachExternal) > ('accessing' #connectionPool #connectionPool:) > > name = #OracleThreadedConnection > classPool = a NameSpaceOfClass[0] > environment = a NameSpace[199] > environmentMap = nil > xif = an OracleNTThreadedInterface > xifMap = an IdentityDictionary[13] > dependents = nil > signalMap = an IdentityDictionary[11] > libraryInitialized = false > Arguments: > selector = #OCIStmtPrepare2:with:with:with:with:with:with:with:with: > Temporaries: > xifClass = OracleNTThreadedInterface > testMethod = ExternalMethod > OracleInterface>>OCIStmtPrepare2:with:with:with:with:with:with:with:with: > mappedMethodHandle = nil > Context PC = 48 > > ---------------------------------------------------------------------- > OracleThreadedConnection(OracleConnection)>>supportStatementCaching > Receiver: > an OracleThreadedConnection > Instance Variables: > stateHolder = a ValueHolder on: #new > traceStream = nil > traceLevel = 0 > participants = a WeakArray[0] > participantsSemaphore = a RecursionLock > transaction = nil > username = 'myUserName' > password = 'ca11pp3r' > environment = 'shortServerName:myPortNumber/DATABASENAME' > transactionCoordinator = a ValueHolder on: false > cachedSession = nil > isolationLevel = nil > encoding = nil > henvHolder = a ValueHolder on: nil > herrHolder = a ValueHolder on: nil > hsvcctxHolder = a ValueHolder on: nil > hsrvrHolder = a ValueHolder on: nil > hsessHolder = a ValueHolder on: nil > htxnHolder = a ValueHolder on: nil > executionMode = nil > transactionMode = #NEW > authenticationMode = nil > useStatementCaching = false > attributeLengthPointerHolder = a ValueHolder on: nil > attributePointerHolder = a ValueHolder on: nil > parameterPointerHolder = a ValueHolder on: nil > descriptorPointerHolder = a ValueHolder on: nil > unicodeEncoding = nil > oracleEncodingId = 0 > oracleUnicodeEncodingId = 0 > connectionPool = nil > Context PC = 6 > > ---------------------------------------------------------------------- > Glorp.VWDatabaseAccessor>>loginIfError: > Receiver: > a Glorp.VWDatabaseAccessor > Instance Variables: > connection = an OracleThreadedConnection > currentLogin = a Login(a Glorp.OraclePlatform, 'myUserName', > 'shortServerName:myPortNumber/DATABASENAME', nil) > logging = nil > logger = nil > logOnly = false > reusePreparedStatements = true > deniedCommands = nil > mutex = a Semaphore[0] > dependents = nil > driverSession = nil > preparedStatements = a Glorp.CacheManager > Arguments: > aBlock = BlockClosure [] in Glorp.DatabaseAccessor>>login > Context PC = 25 > > ---------------------------------------------------------------------- > Glorp.VWDatabaseAccessor(Glorp.DatabaseAccessor)>>login > Receiver: > a Glorp.VWDatabaseAccessor > Instance Variables: > connection = an OracleThreadedConnection > currentLogin = a Login(a Glorp.OraclePlatform, 'myUserName', > 'shortServerName:myPortNumber/DATABASENAME', nil) > logging = nil > logger = nil > logOnly = false > reusePreparedStatements = true > deniedCommands = nil > mutex = a Semaphore[0] > dependents = nil > driverSession = nil > preparedStatements = a Glorp.CacheManager > Context PC = 5 > > ---------------------------------------------------------------------- > > > > > -- > View this message in context: > http://forum.world.st/VW-7-9-and-Oracle-on-Win7-LibraryNotLoadedError-tp4690985.html > Sent from the VisualWorks mailing list archive at Nabble.com. > _______________________________________________ > vwnc mailing list > [hidden email] > http://lists.cs.uiuc.edu/mailman/listinfo/vwnc > vwnc mailing list [hidden email] http://lists.cs.uiuc.edu/mailman/listinfo/vwnc |
In reply to this post by Steve Cline
By adding the entire contents of instantclient-basic-nt-11.2.0.3.0\instantclient_11_2 to a new directory on my path, I am able to successfully execute the Glorp tests connected to an Oracle database (all but 1 test, don't have it handy and I am in the middle of something else, but will follow up)
|
Free forum by Nabble | Edit this page |