2011-12-01 60 views
0

在服務器上使用DB2,我的應用程序直接連接到該服務器。作爲數據提供商,我使用v9.7 FP5 ibm數據服務器驅動程序和visual studio插件。現在。要使用ClickOnce在客戶端計算機上安裝我的程序,並提供WHOLE IBM驅動程序包,那真的不是最佳解決方案,因爲如果IBM更新其驅動程序 - 我的所有客戶端都必須更新它們。不能,我只是將一些提供程序DLL包含到ClickOnce包中並僅在部署ClickOnce安裝程序的計算機上更新它們?
PS:看來,我不能只是部署一些dll文件:(
How do I redistribute DB2 .NET with my application?如何正確部署IBM DB2數據提供程序

的DB2 .NET提供者不能簡單地複製,它有幾個 支持文件和安裝操作,因此需要。要安裝 這可以通過以下方法之一來完成:

  1. 安裝數據服務器運行時客戶機或用於ODBC,CLI和.NET的數據服務器驅動程序(DS驅動在目標機器(S)

  2. 包數據服務器客戶端運行時R上的簡稱)合併模塊與應用程序。細節在運行時客戶機合併模塊的在線 信息

這還真不是從他們身邊,我認爲解決方案。原來,他們提供的解決方案,同時開發應用與他們的DB工作,後進入生產 - 客戶端必須安裝其驅動程序(100MB〜),讓我的軟件與他們的數據庫工作...

+0

閃避問題,但您可以考慮使用調用數據庫的Web服務/ WCF服務。現在很少見到直接連接到數據庫的客戶端應用程序。 –

+0

@Kieren Johnstone,是的,我們可以,但直接連接爲我們提供了更多的選擇和速度(在某些方面,開發速度也是如此,因爲我們必須編寫一些與數據庫而非DB +服務一起工作的對象(這不是一個大不了...))。因此,直接連接的主要目標是在可擴展性交易中最大化程序的性能。 – 0x49D1

回答

1

我看到你在這裏有兩個選擇。一,你不必安裝完整的100MB + db2客戶端。您可以安裝英文版只有31MB的「數據服務器驅動程序包」。除非您需要新版本中包含的新功能或錯誤修復,否則每次IBM更新時,您也不必在客戶機上更新它。

另一個更好的IMO選項是使用IBM提供的數據服務器驅動程序合併模塊。您可以將它們包含在.Net應用程序的安裝包中。但是你怎麼做,雖然我不確定。我問了一會兒question,從來沒有得到迴應。

+0

是的,31mb,但安裝了近100個;)關於合併模塊 - 我不能在這裏使用它們,因爲我有clickonce isontler,而不是msi。仍然感謝你的答案,將在未來的項目中考慮。 – 0x49D1

1

我建議應用程序檢查驅動程序是否存在,並在用戶不存在的情況下將用戶導向安裝頁面/設置頁面。這不是用ClickOnce輕鬆安裝的,但如果您創建了獨立安裝程序(MSI),它將是一個自動安裝的選項。 (以及暗示客戶端不直接訪問數據庫),其中包括防火牆配置,驅動程序安裝和安全問題等各種問題。

+0

防火牆不會成爲問題,因爲客戶端軟件將在局域網中工作,因爲許多安全選項也不會打擾我們,因爲它們將適用於某些用戶組在活動目錄(這是不確定的,但不認爲這將是我們的問題)。如果我們計劃長期維護此軟件,驅動程序安裝就成了問題。您關於檢查驅動程序更新的想法很好!我可以在該網絡上觀看一些網絡共享文件夾,這樣如果文件發生改變 - 我可以要求用戶採取並更新到新的驅動程序版本。謝謝。 – 0x49D1

相關問題