How to manually perform a Firebird client-only install? - client

I'm trying to install Firebird client 3.0.4.33054 on a Windows client without using the installer.
Version on the server is the following:
C:\Program Files\Firebird\Firebird_3_0>gfix -z
gfix version WI-V3.0.4.33054 Firebird 3.0
I found this page:
Each remote client machine needs to have the client library –
libfbclient.so on Posix clients, fbclient.dll on Windows clients –
that matches the release version of the Firebird server.
Firebird can install symlinks or copies named after the 1.0 libs (with
the “old” InterBase names), to maintain compatibility with third-party
products which need these files.
Some extra pieces are also needed for the client-only install.
My client application uses FibPlus Library components, so I've copied (from a working client) these two files:
fbclient.dll (3.0.4.33054)
gds32.dll (6.3.4.33054)
I've tried placing the two files:
In the client application folder
In C:\Windows\SysWOW64
In C:\Windows\System32
When the client application tries to connect to the database, it raises the following exception message:
Can't load library gds32.dll
What am I missing? (Maybe that "Some extra pieces" mentioned by the documentation?)

I've resolved the problem.
My application is 32 bit and I was using the 64 bit version of the gds32.dll.
I've placed the 32 bit version of the gds32.dll in the client application folder and it started working.
On several machines, the "Can't load library gds32.dll" error still occurs after placing the right version of the gds32.dll in the client application folder. In these cases, I've resolved by installing the Microsoft Visual C++ 2010 Redistributable Package:
Microsoft Visual C++ 2010 Redistributable Package (x86)
Microsoft Visual C++ 2010 Redistributable Package (x64)
Note:
The fbclient.dll is not required by FibPlus Library components.

Related

Oracle connections broken in SSIS after uninstalling 32bit version of oracle client

I get the following error message when I try to test my connections:
Test connection failed because of an error in initializing provider. The 'OraOLEDB.Oracle.1' provider is not registered on the local machine
I originally had 32 bit and 64 bit version of Oracle 12 client installed on my work machine. I uninstalled the 32bit version, because it was causing some conflicts with another application, but now after uninstalling I can no longer use my oracle connections in SSIS.
I'm using Visual Studio 2017 - I am pretty sure I installed 64bit version of SSDT, but it looks like they install under the 86x programs folder. I can still connect via TOAD, so it looks to be an issue of SSIS not pointing to the 64bit installation, I think. Can I manually set SSIS to point to the 64bit version, or do I need to reinstall 32bit?
TSN_Admin is set to the oracle12c_64 tsnname.ora file. I have also tried using the regsvr32.exe on oraoledb12.dll file, but I get an error message, even after running command prompt as admin:
The Module "OraOLEDB.dll" was loaded by the call to DllRegisterServer failed with error code 0x80070005.
I can reinstall the the 32bit version, but I need to wait for my company's IT department to approve the request first. It could be days before I get a response.
Update 1 - Visual Studio 64-bit
After searching it looks like there is not Visual Studio 64-bit version:
Visual Studio 64 bit?
Initial Answer
I don't know if there is an official documentation for this, but based on my own experience you need to instal oracle client 32-bit on the developpement machine, because SQL Server Data Tools for Visual studio is a 32-bit application and it will not work will work with oracle client 64-bit.
But you can execute .dtsx package without any issue if you are working with oracle 64-bit client, you need to use the appropriate DtExec path:
32-bit
C:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\DtExec.exe
64-bit
C:\Program Files\Microsoft SQL Server\100\DTS\Binn\DtExec.exe
While searching, i found many other links that share the same opinion:
Oracle Install for SSIS connectivity (and drivers 32 64 bit)
Oracle Client Provider for OLE DB in SSIS not working
Connecting to Oracle 11g on 64-bit (x64) machine SSIS 2012

Data First connection with Oracle 64 bit

I have an Oracle(12g x64) database that I am trying to connect to using EF (6.x.x) data first approach in an MVC application. However I get a BadImageFormatException.
I am running everything x64. "Any CPU" is changed to x64. IIS AppPool "Allow 32-bit apps" is set set to false. Project Platform is set to x64
The same environment works fine with plain ADO.NET connections.
Has anyone successfully achieved this?
EDIT:
This link
does not provide the answer. I am getting the error only when trying to connect through Server Explorer. Plus, I am using everything x64 to work with my other project. If I install another (x86) client and/or change paths of the current client and dlls it will mess up everything for the other project also.
I have installed the Oracle.ManagedDataAccess and the Oracle.ManagedDataAccess.EntityFramework nuget packages in my MVC (current) Project. So it removes the requirement for a x86 client.
I will try to enumerate the steps.
From here: http://www.oracle.com/technetwork/topics/dotnet/downloads/index.html
Download Entity Framework "Oracle Developer Tools for Visual Studio 2015 - MSI Installer" This will provide the EF tools. These tools are compiled in x86
Download "64-bit ODAC Downloads" I would suggest the "64-bit ODAC 12c Release 4 (12.1.0.2.4) for Windows x64" wich has an installation wizard
Use Nuget to install Oracle.ManagedDataAccess.EntityFramework nuget packages in your project
Go to your web-->properties--> and set platform target to x64 in Release Mode
At this point, it should work properly in debug mode and release mode in your machine
In the IIS server you should only install "64-bit ODAC 12c Release 4 (12.1.0.2.4) for Windows x64" and configure the tnsnames file
Deploy all the contents of the bin\x64 folder to the IIS server. No further configuration in IIS if it´s an x64 operating system
Hope it helps

Build ATL VS2010 project on CI server

I need to build VS2010 C++ ATL project on CI server with no VS2010 installed.
The project can be successfully built on developers machine with VS2010 installed. But VS2010 cannot be installed to CI servers because that requires a license.
So, for now I'm trying the following approach:
Installed VS2010 Express
Installed Microsoft Windows SDK for Windows 7
Installed Windows Driver Kit (it includes ATL and MFC)
Although I have ATL headers and libs installed on the CI machine, I'm getting the following errors:
error C2039: 'AtlSetPerUserRegistration' : is not a member of 'ATL'
error C3861: 'AtlSetPerUserRegistration': identifier not found
I compared atlbase.h headers from VS2010 installation and from WDK. They are different:
- atlbase.h from VS2010 installation does have AtlSetPerUserRegistration definition;
- atlbase.h from WDK installation does not have it.
That causes an error mentioned above.
The question is: how to configure CI build machine for building ATL projects without installing VS2010?
Update:
Checking atldef.h file I found the following:
VS2010 version has the line:
#define _ATL_VER 0x0A00 // Active Template Library version 10.00
and WDK version has the line:
#define _ATL_VER 0x0800 // Active Template Library version 8.00
So, WDK ATL version differs from the VS2010 ATL version. That's why they're not 100% compatible.
Now the question is: How to get ATL v10.0 on the build server without having VS2010 installed?
In case if anyone else meets the same issue, here is a workaround:
The required version of ATL is available on developers machine with VS2010 installed (e.g. VS2010 Professional).
It is located in the folder %VCINSTALLDIR%ATLMFC.
By default it is c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\
Folder ATLMFC can be copied to the build server by hands into %VCINSTALLDIR%, where VS2010 Express is installed. And that makes build server able to build VS2010 ATL projects without installing VS2010.
Though this is a workaround. And I'd like to see better solution if any. So, I'm not accepting my answer.

Can't get SQL Server CE to work with Visual Studio 2005 and Windows CE 5.0

I have been trying to make SQL Server CE work with Visual Studio 2005 for the past 4, 5 hours. but no luck. When I run my application I get the following error:
Can't find PInvoke DLL 'sqlceme35.dll'
I have read countless threads and articles on it but unable to make it work. Using the following tools:
Windows CE 5.0 device running Intel Bulverde processor
Windows XP 32 bit with Visual Studio 2005
SQL Server Compact 3.5
Here is what I did.
Created a new "Smart Device" project and selected "Windows CE 5.0"
Installed SQL Server Compact 3.5 (on Windows XP) which installed a bunch of folders and files
In my project I added a reference to "System.Data.SqlServerCe.dll" which is inside folder where SQL Server Compact 3.5 is installed
Then I wrote a few lines code as below which I copied from http://msdn.microsoft.com/en-us/library/aa226134(v=sql.80).aspx
SqlCeEngine engine = new SqlCeEngine("Data Source = Test.sdf");
engine.CreateDatabase();
conn = new SqlCeConnection("Data Source = Test.sdf");
conn.Open();
Then I installed "sqlce.dev.ENU.wce5.x86.CAB", "sqlce.repl.wce5.x86.CAB" and "sqlce.wce5.x86.CAB" from "wce500\x86" on target device which created a bunch of DLL files in folder "Microsoft SQL Server Compact Edition"
Then I ran my program but I got error as described above. The error is being thrown by line SqlCeEngine engine = new SqlCeEngine("Data Source = Test.sdf");
I thought may be I need to copy all DLLs from folder "Microsoft SQL Server Compact Edition" to my application folder on target device from where my program was running so I copied all files but still same error.
And then I thought may be I need to use "armv4i" instead of "x86" so I first installed "sqlce.wce5.armv4i.CAB", "sqlce.repl.wce5.armv4i.CAB", "sqlce.dev.ENU.wce5.armv4i.CAB" and as expected it didn't work. So I again copied all DLLs into my program folder but no luck.
What am I doing wrong?
The Bulverde, IIRC, is the PXA27x series processor which is definitely an ARM core, not an x86, so you must use the ARM binaries.
Start by making sure you have a factory-reset device (the registry would be the important bit to reset).
Then use the CAB (or just the binaries directly) from this folder:
%PROGRAM_FILES%\Microsoft SQL Server Compact Edition\v3.5\Devices\wce500\armv4i
Make sure that the System.Data.SqlServerCe.dll assembly is on the device (typically in your application folder).
If it still fails, you probably are missing a dependency. Run depends.exe (on the desktop) against the SQL Compact binaries to see what they need and ensure those are on your target.

connect to a sybase database using visual studio 2003 and the .NET Framework 1.1

I'm developing an interface between my application (built with Visual Studio 2003 and the .NET Framework 1.1) and a Sybase database. I installed the Adaptive Server to store the database. The problem arises when I tried to reference the neeeded dll to my project, I have two dll's (Sybase.AdoNet2.AseClient.dll and Sybase.AdoNet4.AseClient.dll) that can't be added, and searching the web I see there is a dll called "Sybase.Data.AseClient.dll" but don´t know where to get it from. Help!!
It depends which version of Sybase do you have.
The drivers can be installed along with Sybase client installation.
You should have to dll files:
sybdrvadoXX.dll (where XX is a number)
Sybase.Data.AseClient or Sybase.AdoNet2.AseClient
The first one just throw in the bin directory.
The second one add to the references.
Good luck :)

Resources