SqlSrv driver isn't loading with IIS 10 & PHP 5.6 - iis

I've installed a fresh IIS 10 server on a fresh Windows 10 machine with PHP 5.6.31 VC11 x64 Non Thread Safe (can't use PHP7 just yet). PHP is now working well and phpinfo() is displaying everything correctly.
I just installed the PHP SQL driver but it isn't being loaded. It's not showing up in phpinfo() and when I try to use it in code I get the following PHP error:
PHP Fatal error: Uncaught exception 'PDOException' with message 'could not find driver' in test.php:3
Stack trace:
#0 test.php(3): PDO->__construct('sqlsrv:server=...', '', '')
To install the PHP SQL driver, I did the following:
Downloaded and installed the Microsoft ODBC Driver 11 for SQL Server (x64)
Downloaded and installed the Microsoft Driver for PHP for SQL Server (SQLSRV32.EXE)
Enabled the extensions in PHP manager (php_sqlsrv_56_nts.dll and php_sqlsrv_56_nts.dll)
Restarted the IIS server
[PHP_XDEBUG-2.5.5-5.6-VC11-NTS-X86_64]
extension=php_xdebug-2.5.5-5.6-vc11-nts-x86_64.dll
[PHP_PDO_ODBC]
extension=php_pdo_odbc.dll
[PHP_PDO_SQLSRV_56_NTS]
extension=php_sqlsrv_56_nts.dll
[PHP_SQLSRV_56_NTS]
extension=php_sqlsrv_56_nts.dll
It all looks correct to me and I've done this successfully on other machines before. I feel like I'm missing something simple.
A few other notes:
The PHP error log is empty.
I've tried loading all other dll files that I downloaded (such as the ones aimed at 5.5, 5.4 etc) but it doesn't change anything.
It's worth noting that I installed Xdebug just fine and it is showing up in phpinfo().

I have resolved this problem by using PHP for x86 and not x64. I'm guessing that the SQL drivers are not designed for x64 (although I couldn't see this anywhere).
As soon as I changed to PHP 5.6 VC11 x86 Non Thread Safe everything worked much better.
Note that you need Visual C++ Redistributable for Visual Studio 2012 x86 for this to work. If you already installed the x64 redistributable you will need to install the version that is designed for x86.

or use this library : php_pdo_sqlsrv_73_nts.dll

Related

Has official 32bit support for cmake on Linux been dropped?

I don't mean the version(s) provided by the various distributions but the binary from the official website.
I have an old VM running 32bit OpenSUSE 12.1 that is configured for a project I'm working on at work. I need to install WebKitGTK. The problem is that the cmake in the repositories is ancient 2.x, while WebKitGTK at least 3.6 (or similar). So I went to the official website and (my fault) without looking too much into it downloaded the 3.10 installation for Linux.
Upon executing the binary that was installed I got the error that the file could not be run. I checked the execution rights and it was fine. Then it struck me...I ran file cmake and got 64 instead of the required 32bit.
I went back to the website and all I could find were 32bit versions for Windows but none for Linux.
I can build it from source but just out of curiousity would like to know if support has been dropped. I was unable to find any information so far.
32-bit support for CMake hasn't been dropped. They just don't provide binaries for it on their website as of CMake 3.7.0

Installing a oracle forms development machine

After working with Oracle databases and Apex for many years, I want to get some knowledge about Oracle forms & reports, because they are still quite widely used.
I've never seen Oracle forms & reports, so I want to create a development installation for learning purposes. Unfortunately installing Oracle forms seems a bit more tedious than I expected and I'm a bit stuck.
Windows installation
I first tried installing Oracle 12c (from http://www.oracle.com/technetwork/developer-tools/forms/downloads/index.html) on windows 7 x64. I installed the "Standalone forms builder", because when I chose "Forms and reports deployment", I got this error:
After installation I tried to start frmbld.exe, but immediately got this error:
FRM-91135: fatal error: message file D:\oracle\client\user123\product\12.1.0\client_1\forms\mesg\fmcus.msb not found
My oracle client is installed in that directory, but the mentioned file is certainty not there.
linux installation
Googling around I did not find any solution for this problem, so i decided to switch to a Linux virtual box machine. I installed Oracle linux x64 and then installed with a download from the same page again.
Once more I could only choose "Standalone forms builder", when I chose "Forms and reports deployment" I got exactly the same error as on windows. The installation ran successful.
After installation I tried to start formbuilder, this time I was presented this error:
./frmbld: error while loading shared libraries: libXm.so.3: cannot open shared object file: No such file or directory
So now I'm a bit stuck. My questions are:
Am I going the right way with the way I'm trying to install Oracle forms? or is there a better / easier way?
Do I need a "Forms and reports deployment" to be able to experiment with Oracle forms? or is the standalone installation the right way to go?
Are there any pre-installed virtual machines available for this? (I googled but couldn't find anything.)
Do I need a running Oracle database to be able to experiment with Oracle forms?
Linux installation:
Yes you are going the correct path installing Forms/Reports. There is no easier install method (Oracle does not have a prebuilt VM with Forms/Reports).
You will require an Oracle database to connect to.
To fix the linux error you will need to install additional OS packages, probably motif - you can run (to find the packages required): yum whatprovides libXm*
I have installed Forms Builder 12c (standalone install) on Fedora and it is working correctly.
The windows error might be related to you OS PATH ENV - if you have any other Oracle products installed, the PATH order may need to be changed, put the Forms related paths at the beginning.
Unfortunately I was unable to get it properly working with my previous attempts. In the end I restarted an installed a windows 10 x64 virtual machine, after which i followed these excellent video's to get everything working: https://www.youtube.com/watch?v=4tgtHPJGc7o

Problems: Setting up MSTest2012 on a jenkins server without installing VS2012

I trying to setup MSTest2012 on a jenkins server without installing Visual Studio 2012 on it. I made it so far that I don't receive any "Assembly not found" error messages.
I was going to do some functional tests, so I copied a vs2012 project from my local machine to my jenkins server and tried something like that in cmd:
C:\VS2011Stub\Common7\IDE>MSTest.exe /testcontainer:D:\Users\Jenkins\Documents\V
isualStudio2012\Projects\HelloWorld\UnitTestProject4\bin\Debug\UnitTestProject4.
dll
Microsoft (R) Test Execution Command Line Tool Version 11.0.50727.1
Copyright (c) Microsoft Corporation. All rights reserved.
Loading D:\Users\Jenkins\Documents\VisualStudio2012\Projects\HelloWorld\UnitTest
Project4\bin\Debug\UnitTestProject4.dll...
D:\Users\Jenkins\Documents\VisualStudio2012\Projects\HelloWorld\UnitTestProject4
\bin\Debug\UnitTestProject4.dll
Ein Aufrufziel hat einen Ausnahmefehler verursacht.
This error message (Ein Aufrufziel hat einen Ausnahmefehler verursacht -> in english: Exception has been thrown by the target of an invocation.) is pretty... unhelpfully.
On my local machine the same cmd-code looks like that:
I dont know what to do... any suggestions, solutions??? Maybe someone have the same problem :/ Maybe mstest2012 still need other files to run correctly??
Im happy about every help!
edit:
I followed these steps to build MSTest.exe (VS2012) as standalone program on my jenkins server
edit2:
!!!Problem solved!!!
A few Microsoft.VisualStudio.QualityTools.#.dll's in GAC folders i copied didnt contain a version=11.0.0.0, so i openend C:\Windows\Assembly an took a look at the Microsoft.VisualStudio.QualityTools.# and checked the aviable versions and added the missing latest 11.0.0.0 Microsoft.VisualStudio.QualityTools.#.dll files on my jenkins server and registered them via gacutil(ver 4.0.30319.17929).
MSTest works now as stand alone program without installing MS Visual Studio 2012.
If anybody needs an instruction file just ask and i will upload it =)

Problem in creating package through "Package for Linux" in Mono 2.8

I am using mono 2.8 with Visual Studio 2008. I have installed "mono-2.8-gtksharp-2.12.10-win32-9".
I am creating a windows application and its setup solution is working fine on Windows OS. But when I am creating package for Linux and follow the instruction from http://mono-tools.com/Package.aspx
Step-1 to Step-5 are done but after Step-5, I am clicking on Create Package and its do nothing even its not create any file into selected folder.
Please help..
When you choose the host for it to build the package on, make sure you are choosing a SUSE or RHEL server, or the process will silently fail.

Why do I get "Error 6060" when I try to use DBD::Advantage with a 64-bit perl on Linux?

I realize that I am attempting to go beyond the "supported" behavior of the manf's released drivers for Perl, after all they have only released it in package with x86 .so's.
However, since I cannot use their package with x64 Perl on a RHEL 5.4 x86_64 box, and maintaining a seperate install of x86 Perl just for this one package, I have made an attempt to get this puppy working thanks to released 64-bit .so's that accompany other driver packages for Advantage.
What I have done to this point:
download beta 10 DBI drivers, in 32
download beta 10 PHP extension (it contains 32 and x86_64)
copy the required DLLs into the ads-lib location (eg /usr/local/ads/lib64)
compile the Perl DBI driver with the path to the lib64's .so's
Good compilation, good install, good use.
The problem is that I always get :
failed: [iAnywhere Solutions][Advantage SQL][ASA] Error 6060: Advantage Database Server not available on specified server. axServerConnect (SQL-HY000)(DBD: db_login/SQLConnect err=-1)
Does anyone have any ideas?
EDIT: fixed package name in post title
EDIT: Updated title.
It appears that it's not just the x64 perl, but the RHEL 5.4 underneath that may be interfering. As commented below, I managed to shoe-horn a x86 perl onto the system, and compile the DBD::Advantage 9.99, and later replacing that with 9.10, and none of these x86 would connect either. Neither library (9.99 or 9.10) in either bit-edness will connect from this x86_64 server to the windows server's UNC path.
I have successfully mounted this share without problems, but still I cannot seem to connect to the 9.1. I have tried:
\hostname\PATH
\FQDN\PATH
\IP\PATH
and all of these variations with the port (default) 6262 included.
My windows machine connects fine, with both 9.1 and 9.99 from strawberry perl.
Check the host file on the Linux server and make sure the name of the server uses the actual IP rather then the loopback address.
Also, since you updated the client, did you also install/update the 10 beta server?
Finally, what is your connection string? Have you tried adding the port to the connection string?

Resources