How to properly deploy IBM DB2 data provider
Asked Answered
S

2

2

Im using DB2 on server and my application connects directly to that server. As data provider i use v9.7 FP5 ibm data server driver and visual studio addins. Now..To install my program on client computers im using ClickOnce and providing WHOLE IBM driver package and thats really not best solution, because if IBM update their drivers-all my clients will have to update them too. Cant i just include some provider DLLs into ClickOnce package and update them only on the computer that is deploying ClickOnce setup?
PS: seem that i cant just deploy some dlls :(
How do I redistribute DB2 .NET with my application?

The DB2 .NET provider can not simply be copied, it has several supporting files and installation actions, and thus it needs to be installed. This can be accomplished by one of these methods:

  1. Install the Data Server Runtime Client or the Data Server Driver for ODBC, CLI and .NET (ds driver for short) on the target machine(s)

  2. Package the Data Server Client Runtime merge modules with your application. Details are in the Runtime Client Merge Module online information

And this really is not solution from their side i think. Turns out that they provide solution to work with their DB while developing application and after it goes production- clients MUST install their drivers(~100mb) to allow my software to work with their database...

Slowwitted answered 1/12, 2011 at 12:49 Comment(2)
Dodging the question, but you could consider using a web service / WCF service that calls the database. It's uncommon nowadays to see a client app which connects to the DB directly.Glooming
@Kieren Johnstone , yes, we could, but direct connect gave us more options and speed(in some aspects development speed too, because we had to write just some objects that work with DB and not DB+service(tho this is not a big deal..)). So the main goal of direct connect was maximizing performance of program in a trade of scalability..Slowwitted
I
1

I see two alternatives that you have here. One, you don't have to install the full 100mb+ db2 client. You can install the "Data Server Driver Package" which is only 31mb for the English version. You also don't have to update this on your clients every time IBM updates it unless you need new features or bug fixes that are included in the new version.

A second, better IMO, option is to use the Data Server Driver Merge Modules that IBM provides. You can include them with the installation package of your .Net application. But HOW you do that though I'm not sure. I asked a question on it a while back and never got a response.

Incipit answered 1/12, 2011 at 19:0 Comment(1)
Yes, 31mb, but installed almost 100 ;) About merge modules-i cant use them here, because i have clickonce isntaller, not msi. Still thank you for the answer, will consider that in the future projects.Slowwitted
G
1

I would suggest the app checks for existence of the drivers, and directs the user to an installion/setup page if they do not exist. This is not something easily installed with ClickOnce, though if you created a standalone installer (MSI) it would be an option to install automatically. (As well as suggesting that the client doesn't access the DB directly ;), which has all manner of problems including firewall config, driver installation, and security issues).

Glooming answered 1/12, 2011 at 13:24 Comment(1)
Firewall wont be a problem, because client software will be working in LAN, as many security options wont bother us too, because they will be for some user group in active directory(tho this is not certain, but dont think this will be our problem). Driver installation is a problem if we plan to maintain this software for long period. Your idea about checking for driver update is good! I can watch some network shared folder in that net so that if files there change-i can ask user to take and update to new driver version. Thank you.Slowwitted
I
1

I see two alternatives that you have here. One, you don't have to install the full 100mb+ db2 client. You can install the "Data Server Driver Package" which is only 31mb for the English version. You also don't have to update this on your clients every time IBM updates it unless you need new features or bug fixes that are included in the new version.

A second, better IMO, option is to use the Data Server Driver Merge Modules that IBM provides. You can include them with the installation package of your .Net application. But HOW you do that though I'm not sure. I asked a question on it a while back and never got a response.

Incipit answered 1/12, 2011 at 19:0 Comment(1)
Yes, 31mb, but installed almost 100 ;) About merge modules-i cant use them here, because i have clickonce isntaller, not msi. Still thank you for the answer, will consider that in the future projects.Slowwitted

© 2022 - 2024 — McMap. All rights reserved.