How to deploy 64-bit ADO.NET and Entity Framework applications for Sybase, DB2, Oracle

How to deploy 64-bit ADO.NET and Entity Framework applications for Sybase, DB2, Oracle

April 12, 2012 0 Comments

There is a surge in interest for Sybase, Oracle and DB2 ADO.NET providers for use with 64-bit .NET applications built across ADO.NET, Entity Framework, and NHibernate.  Like these shops, you are probably reading this article since you've encountered an issue upgrading a development PC or server to 64-bit.

Does Progress DataDirect have 64-bit ADO.NET providers?

Yes, but I get very confused at the question since managed .NET applications run independent of the underlying 32-bit or 64-bit architecture by design.  Then again, not all providers are 100% fully managed code like DataDirect Connect for ADO.NET; and I must be living a sheltered life at DataDirect.

What challenges am I hearing from .NET shops facing with deployment of 64-bit .NET applications?

  • Managing complex deployment of 32-bit/64-bit unmanaged database clients for non-DataDirect ADO.NET providers.  IBM and Oracle have different installers for Windows x64 versus x86.
  • Oracle shops running the OracleClient provider that has been deprecated find out quickly that it is not supported on 64-bit platforms.
  • Deployment headaches in locked down business critical environments.  For example, it requires several teams and man hours to get an assembly registered in the GAC; much less run an installer for a thick database client.  Or shops might deploy desktop images where users have limited access to make system changes of any kind; and upgrades are expensive.
  • IBM no longer supports 64-bit ADO.NET connectivity to iSeries prior to version 6.
  • Sybase enhanced Adaptive Server ADO.NET Data Provider only supports SSIS 2008, 32-bit.

What are your options with Progress DataDirect Connect for ADO.NET?

For example here is a write-up on the three ways to deploy our Connect for Oracle ADO.NET assemblies to an ASP.NET application.

Everyone is talking about DataDirect's XCopy style deployment, so how does it work?

For the locked down environments mentioned above, .NET shops are indeed turning to our flexible XCopy style deployment that is independent of machine architectures.  You can follow my "Hello World" Xcopy style deployment tutorial below for a quick POC:

  • Create new Visual Studio 2010 Project > Visual c# ASP.NET Web Application
  • Right click on Solution Name; Add Reference to DDTek.Oracle.dll
  • Right click on Solution Name; Add New Item
  • Select "C# Class" and create class named "Class1" with language as c#
  • Click on Default.aspx for Designer View
  • Drag "Label" from toolbox named Label1

ADO.NET deployment in Visual Studio 2010

  • Code Sample Below for default.aspx.cs:

using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; public partial class Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { Class1 testClass = new Class1(); Label1.Text = testClass.TestProperty; } }

  • Code Sample Below for Class1.cs:

using System; using System.Collections.Generic; using System.Linq; using System.Web; using DDTek.Oracle; public class Class1 { public Class1() {} public string TestProperty{ get{ try { OracleConnection myOraConn = new OracleConnection(";SID=xe;UID=hr;PWD=welcome;License Path=c:\\inetpub\\wwwroot\\myWebSite\\bin\\DDTek.lic"); myOraConn.Open(); OracleCommand myOraCmd = new OracleCommand("select VALUE from NLS_DATABASE_PARAMETERS WHERE PARAMETER='NLS_RDBMS_VERSION'", myOraConn); OracleDataReader myOraRdr = myOraCmd.ExecuteReader(); myOraRdr.Read(); return "Hello World from Oracle version: " + myOraRdr.GetString(0); } catch (Exception e) { return e.Message; } }//end get }//end TestProperty }//end TestClass

  • Build > Build Website and then Publish
  • Select target build location in folder named "myWebSite_source".
  • Copy DDTek.Oracle.dll assembly and DDTek.lic license file to "myWebSite_sourcebin"
    • Note: For projects building an assembly, you can embed the license file as a resource instead of setting the License Path connection property. See Connect for ADO.NET User's Guide for further details
  • Create New Folder "myWebSite" with web app in c:inetpubwwwroot
  • Copy (or XCopy) Published Website files from "myWebSite_source" to "myWebSite"
  • Launch IIS Administrator, inetmgr
  • Navigate to Default Web Site
  • Right Click myWebSite and click "Add Application"
  • Enter Alias and Physical Path and Test Settings before clicking OK
  • Copy files from "mywebsite_source" on build machine to "myWebSite" on web server
  • Navigate to site through web browser: http://machine/myWebSite/default.aspx

xcopy deployment

Summary of Tutorial:

The purpose of the xcopy style tutorial was to demonstrate that deployment using fully managed Connect for ADO.NET providers only required two files (ADO.NET assembly and license file) be copied over to the web server from 32-bit/64-bit development environment to a 32-bit/64-bit application server.   Absolutely no installation to the GAC, registry changes, or database client install were required!   Here is a link to Microsoft's tutorial for further reference.  Note: additional deployment steps may apply for kerberos authentication, bulk load, or distributed transactions.

Try it out today:

Download and install a free 15-day trial today of the Progress DataDirect Connect for ADO.NET providers.  In addition to easy deployment on 64-bit systems, there are usually at least a dozen other reasons to run your .NET shop on DataDirect; and you can call a solutions consultant today to learn more: N. America: (800)876-3101 | World: +44 (0) 1-344-386-367.

Sumit Sakar

Sumit Sarkar

Technology researcher, thought leader and speaker working to enable enterprises to rapidly adopt new technologies that are adaptive, connected and cognitive. Sumit has been working in the data access infrastructure field for over 10 years servicing web/mobile developers, data engineers and data scientists. His primary areas of focus include cross platform app development, serverless architectures, and hybrid enterprise data management that supports open standards such as ODBC, JDBC, ADO.NET, GraphQL, OData/REST. He has presented dozens of technology sessions at conferences such as Dreamforce, Oracle OpenWorld, Strata Hadoop World, API World, Microstrategy World, MongoDB World, etc.

Comments are disabled in preview mode.
Latest Stories
in Your Inbox

Subscribe to get all the news, info and tutorials you need to build better business apps and sites

Sitefinity Training and Certification Now Available.

Let our experts teach you how to use Sitefinity's best-in-class features to deliver compelling digital experiences.

Learn More
More From Progress
Then, Now and Beyond: The Future of Back Office Software
Read More
2020 Progress Data Connectivity Report
2020 Progress Data Connectivity Report
Read More
Getting Ahead of the Hybrid Data Curve
Read More