Friday, December 5, 2008

Advantage Supported Platforms

I often get asked if Advantage supports Windows 2008 server and the answer is . . . . YES. It was tested with version 9.0 and added to the officially supported platforms. With the latest service release of Advantage 8.1 (8.1.0.38) Windows 2008 Server is officially supported.

To clarify the supported platforms I put together the following table. I included version 7.x since many partners are still using this version. However, version 7 has reached end of life and is no longer officially supported.

Platform 7.x 8.x 9.x
Windows 2008 Server 64-bit N Y1 Y
Windows 2008 Server 32-bit N Y1 Y
Windows 2003 Server 64-bit(including R2) Y Y Y
Windows 2003 Server 32-bit(including R2) Y Y Y
Windows 2000 (Server and Professional) Y Y Y
Windows Vista (Business and Ultimate) 64-bit N N Y
Windows Vista (Business and Ultimate) 32-bit Y Y Y
Windows XP (Professional) Y Y Y
Windows NT Y Y N
Windows 9X Y N N
Linux 64-bit2 N N Y
Linux 32-bit3 Y Y Y
Netware 4.x Y Y N
Netware 5.x and greater Y Y Y

1 – Version 8.1.0.38 or newer 
2 – Requires glibc 2.3.5 or greater and kernel version 2.6 or greater
3 – Requires glibc 2.3.2 or greater and kernel version 2.4 or greater

Although 32-bit applications run well in 64-bit environments I would recommend using the 64-bit version of Advantage (version 9.0 and above) when using a 64-bit operating system. However, if you are using external libraries for stored procedures and triggers they must be compiled as 64-bit DLLs.

Advantage client applications cannot run on NetWare servers and 64-bit clients are currently limited to using the Advantage Client Engine directly ( i.e. C/C++) or by using the Advantage .NET Data Provider.

I posted a list of supported IDEs in September. The official list of supported operating systems is listed here.

UPDATE: A detailed datasheet describing the supported platforms and development environments (IDEs) has been posted here.

4 comments:

Kevin said...

Can a the Advantage .NET Data 8.1 Provider run on a 64 bits windows server and connect to a 32 bit database server?

Chris said...

Any 32-bit Advantage client, like the 8.1 .NET Data Provider, can connect to a 64-bit Advantage server. These clients can also run in a 64-bit environment since 64-bit versions of Windows has an emulator (WOW64) for supporting 32-bit applications.
The 9.x version of the Advantage .NET Data Provider has a 64-bit version if you want to compile a 64-bit version of your application. This requires a 64-bit server running at least the same version as the client. Advantage servers are backward compatible with older clients but a newer client cannot connect to an older server.

Kevin said...

When we run ASP.NET applications that use 8.1 .NET Data Provider on 64 bit Windows 2003/IIS6 we get "System.BadImageFormatException".

It appears this is an error thrown by Windows when it tries to execute a 32 bit dll. Per this thread and some others...http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=93912

When we run II6 in 32 bit emulation mode the error goes away, but we prefer not to degrade the entire IIS environment because of components.

Do you have a recommended approach, short of upgrading the environment to Advantage 9.x?

demetriusrubicon said...

Can you not convert or cast an AdsDataReader to a SqlDataReader? I I have created a Serviced Component(COM+) using the EnterpriseServices namespace in .NET to work around the fact that the ADS provider dll 8.1, which is 32 bit, won't interact with ASP.NET applications that have been compiled for 'Any Platform' on a 64 bit Windows server running IIS.