Home Services Partners Company
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("Host=oraclexe.americas.progress.com;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 ado.net 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

Sumit Sarkar is a Chief Data Evangelist at Progress, with over 10 years experience working in the data connectivity field. The world's leading consultant on open data standards connectivity with cloud data, Sumit's interests include performance tuning of the data access layer for which he has developed a patent pending technology for its analysis; business intelligence and data warehousing for SaaS platforms; and data connectivity for aPaaS environments, with a focus on standards such as ODBC, JDBC, ADO.NET and ODATA. He is an IBM Certified Consultant for IBM Cognos Business Intelligence and TDWI member. He has presented sessions on data connectivity at various conferences including Dreamforce, Oracle OpenWorld, Strata Hadoop, MongoDB World and SAP Analytics and Business Objects Conference, among many others. 

Read next How Hybrid Data Pipeline Transforms How Clouds Access Data
Comments
Comments are disabled in preview mode.