Using Robot Framework
DPI-1047: Cannot locate a 32-bit Oracle Client library:
"C:\Software\Oracle\product\12201_Client64\bin\oci.dll is not the
correct architecture"
Python 3.7.3
cx_Oracle 7.3.0
Robot Framework DatabaseLibrary installed
As you can see we have the 64 bit client installed, RF DatabaseLibrary installed.
Any assistance would be appreciated.
You are probably running the 32-bit version of Python 3.7.3 and this is why it's expecting a 32-bit Oracle driver.
In the cx_Oracle Installation guide:
Download an Oracle 19, 18, 12, or 11.2 “Basic” or “Basic Light” zip
file: 64-bit or 32-bit, matching your Python architecture.
So, your solution is a choice, install an additional version of Python to match the 64 bit Oracle Client or install a 32-bit Oracle client to match your Python setup.
You must have the Oracle Client (32 bit)
Dont't forget to put it in the environment variables.
Related
It's not often I can't find any answer to a question online, but this is one of those times. I'm trying to install an OBDC driver on Linux for Pervasive SQL (PSQL). Does anyone know how or where I can find this?
Thanks!
Depending on the version of Pervasive you're using, the ODBC driver is part of the Client install. For Pervasive PSQL v11, the client is available an RPM or as a TAR for 32 bit or 64 bit at http://www.pervasive.com/database/Home/Products/PSQLv11.aspx with instructions at http://docs.pervasive.com/products/database/psqlv11/wwhelp/wwhimpl/js/html/wwhelp.htm#href=getstart/04nstunx.13.1.html.
UPDATE: As of October 2021, available downloads are at https://esd.actian.com/.
windows 8.1 64 Bit , Aptana 3.4.2 , Java 64 Bit
Error:
Java :
Must you have 32-bit version of java, or may be you have both version [32-bit 64-bit] of java on same computer.
Make sure you have 32-bit version then must you specify the version that using in Aptana studio to do this :
1-Go to apatana folder and find the AptanaStudio3.ini file
"C:\Users\[YourUser]\AppData\Roaming\Appcelerator\Aptana Studio"
2- Add the java 32-bit version path to AptanaStudio3.ini using notepad
Package arch is 32-bit only for Windows OS. The 32-bit version of the JDK is required regardless of whether it is running on a 32-bit or 64-bit Windows system. You can download here from the official website.
I got the exact same error but I was on Windows 10 64-bit, Aptana 3.6.1, with only 64-bit JDKs.
After I downloaded 32-bit 1.7 JDK, I was able to open and run Aptana just fine.
I didn't need to modify the .ini file as AbuSitta had suggested.
I'll agree it might be misleading to some if you don't take a sharper look and see the "x86, x64" description at the download page.
In Windows OS, Aptana Only runs using Java 32 bit (JRE or JDK)
Am I late to the party ? Just started on ruby yesterday..and this was the recommended IDE in 3 of the 4 tutorials i saw..Spent the whole day trying to configure this.
Aptana Studio needs 32 bit jdk to be installed even on a 64 bit processor.. The "compatibility" suggested is a bit misleading..I just had to install the 32 bit jdk.. Did not modify the .ini file as #Osama Abusitta said. Just restarted the pc post installation for the effect to take place.
I got the Same Error. just install Java jdk.1.8 x86 (32bit) Version.
modify the .ini file
C:\Users\YOUR_USER\AppData\Roaming\Appcelerator\Aptana Studio\AptanaStudio3.ini
-startup
plugins/org.eclipse.equinox.launcher_1.4.0.v20161219-1356.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.551.v20171108-1834
--launcher.defaultAction
openFile
-vm
C:\Program Files (x86)\Java\jdk1.8.0_202\bin\javaw.exe
-name
Aptana Studio 3
--launcher.appendVmargs
-vmargs
-Dosgi.requiredJavaVersion=1.8
-Xms256m
-Xmx1024m
--add-modules=ALL-SYSTEM
-Declipse.p2.unsignedPolicy=allow
-Declipse.log.size.max=10000
-Declipse.log.backup.max=5
-Dfile.encoding=UTF-8
-Djava.awt.headless=true
I cannot Debug with the old Qt 4.8.0 psql driver. And the new Qt 4.8.1 psql driver cannot be loaded..
[ListAvailableSQLDrivers : [0mPluginsPath() C:\QtSDK\Desktop\Qt\4.8.1\msvc2010\plugins
[ListAvailableSQLDrivers : [0mQSqlDatabase::drivers() QSQLITE
[ListAvailableSQLDrivers : [0mQSqlDatabase::drivers() QODBC3
[ListAvailableSQLDrivers : [0mQSqlDatabase::drivers() QODBC
I'm working with QtSDK 1.2 (Qt 4.8.1), Win7 64bit and PgAdmin 1.14.3
My QT c++ software can load the old psql driver from Qt 4.8.0:
C:\QtSDK\Desktop\Qt\4.8.1\msvc2010\plugins\sqldrivers,
qsqlpsql4.dll,
qsqlpsql4d.dll
I've tried to compile the psql driver from the Qt Sources. That worked partially. On my laptop, the compiled driver cannot be loaded, but on the laptops of my buddies this driver is working. We all have Win7 64bit. Any ideas how to track this down are welcomed.
thanx QtDeveloper
I'd recommend not to mix Qt-dlls of one computer with plugins built/installed on another.
Qt stores default paths of plugins in Qt-dlls and the paths provided during compilation/installation on different computers may differ.
Try to use procmon from sysinternals, and see during the start of the process which paths the app tries to open while seatching for the plugins.
Try to copy \plugins\sqldrivers* to <YourAppStartPath>\plugins\sqldrivers
I am trying to use ODBC driver in one of my Qt5 project.
I compiled QODBC driver and copied the driver dlls to the Qt\Qt5.0.0\5.0.0\msvc2010\plugins\sqldrivers folder.
When I try the following code:
QSqlDatabase db = QSqlDatabase::addDatabase("QODBC");
I get the following error:
QSqlDatabase: QODBC driver not loaded
QSqlDatabase: available drivers: QSQLITE QODBC QODBC3
Same error is encountered if I tried loading QODBC3.
Even though QODBC and QODBC3 drivers are present, Qt still could not load QODBC driver.
I am running Windows 7 (64 bit) PC.
Has anybody encountered such error? Any clues on what might be wrong ?
I found the issue was caused due to incorrect Visual studio versions used while compiling odbc sql driver.
I had both VS 2008 and VS 2010 in my computer. My Qt5.0 was using VS2010. But when I compiled the odbc sql driver, I had used VS2008. And that caused the problem.
Qt was able to detect the sql odbc driver but could not load it.
I solved this by recompiling the odbc driver using VS2010 and odbc driver works pefectly.
Here are the steps to compile and use sql odbc drivers in Qt 5.0
open qt command prompt:
this can be found in start menu under Qt
set vc++ environment variables:
To do this , cd into to the C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\ folder and run vcvarsall.bat
Important point to note is, compile the driver using the same version of Visual Studio thats used by Qt.
cd into \Qt5.0.0\5.0.0\Src\qtbase\src\plugins\sqldrivers\odbc source folder
qmake odbc.pro
nmake
If it runs correctly, the compiled qsqlodbc.dll and qsqlodbcd.dll
will be available in \Qt5.0.0\5.0.0\Src\qtbase\plugins\sqldrivers folder.
While deploying qt based application, qsqlodbc.dll (release version) need to be copied to sqldrivers folder.
We have a project that compiles to a 32-bit COM DLL and to a 64-bit COM DLL (the same one from my earlier question). When I register both on my Windows 7 machine, both register successfully. When I register both on a Windows Server 2003 machine, both register successfully.
But when I try to register the DLLs on a Windows Server 2008 R2 standard SP1 machine, the 64-bit DLL registers successfully, but the 32-bit DLL fails with the message (sic):
The module ""%1"" may not compatible with the version of Windows that you're running.
Check if the module is compatible with an x86 (32-bit) or x64 (64-bit) version of regsvr32.exe.
I don't think a 32-bit DLL can be compatible with WS2003 and Win7 but not WS2008. That makes no sense.
What might be happening?
The version of Regsvr32.exe must match the 32-/64-bitness of the dll you're trying to register. The 64-bit regsvr32 cannot load a 32-bit dll, and vice versa.
You may need explicitly call the 32-bit version of regsrv32 located in %systemroot%\SysWoW64\regsvr32.exe.
From http://support.microsoft.com/kb/249873
Regsvr32.exe is included with Microsoft Internet Explorer 3.0 or later versions, Windows 95 OEM Service Release 2 (OSR2) or later versions, and Windows NT 4.0 Service Pack 5 (SP5) or later versions. Regsvr32.exe is installed in the System (Windows Me/Windows 98/Windows 95) or System32 (Windows NT/Windows XP/Windows Vista/Windows 7) folder.
Note On a 64-bit version of a Windows operating system, there are two versions of the Regsv32.exe file:
The 64-bit version is %systemroot%\System32\regsvr32.exe.
The 32-bit version is %systemroot%\SysWoW64\regsvr32.exe.
Regsvr32.exe usage
RegSvr32.exe has the following command-line options:
Regsvr32 [/u] [/n] [/i[:cmdline]] dllname
/u - Unregister server
/i - Call DllInstall passing it an optional [cmdline]; when used with /u calls dll uninstall
/n - do not call DllRegisterServer; this option must be used with /i
/s – Silent; display no message boxes (added with Windows XP and Windows Vista)
When you use Regsvr32.exe, it attempts to load the component and call its DLLSelfRegister function. If this attempt is successful, Regsvr32.exe displays a dialog box that indicates success. If the attempt is unsuccessful, Regsvr32.exe returns an error message. This may include a Win32 error code. For more information, click the following article number to view the article in the Microsoft Knowledge Base:
193625 WinInet error codes (12001 through 12156)
This isn't likely to be the problem in your case, but might be useful for others who find this question by searching on the same error message:
I had a similar problem: a DLL that wouldn't register with either the 32-bit or 64-bit version of RegSvr32. I loaded the DLL the Dependency Walker (depends.exe, http://www.dependencywalker.com/) and got a much more useful message:
Error: At least one file was not a 32-bit or 64-bit Windows module.
Scanning the CPU column in the Module List identified the offending module. (In my case, it said "No DOS or PE signature found. This file is not a valid 32-bit or 64-bit Windows module.")
Moral: The Dependency Walker might give you a more useful error message than RegSvr32.exe.
I got it registered by moving the dll to the c:\windows\syswow64\ directory (it wouldn't work in the system32 directory) and then explicitly calling syswow64\regsvr32, eg
c:\windows\syswow64\regsvr32 yourdll.dll
btw it wouldn't work when calling c:\windows\syswow64\regsvr32 c:\windows\syswow64\yourdll.dll
Use Process Monitor from SysInternals.
1. Filter by "Process Name" = regsvr32.exe.
2. Try to register your DLL file from the correct version of regsvr32.exe (the 32-bit version is in the SysWow64 folder)
3. Process Monitor will trace EVERYTHING that is happening on your computer.
4. First start your analysis by eliminating the registry events (for now):
5. You may be able to see which DLL file is found and not found.
Here a (very) partial screenshot of regsvr32.exe of Threed32.ocx where we can see some of the required DLL files:
6. Your work is just starting. From now.
I have the same problem, but I resolve it with commands
CD \windows\syswow64
regsvr32 c:\filename. dll
Running the command prompt as administrator fixed my issue.