2012-04-13 121 views
1

我需要連接和發送/接收使用實時@formula我的Lotus Notes應用程序的MS SQL服務器的信息(我可以連接使用代理,但我需要使用內聯代碼爲這個)。的Lotus Notes ODBC連接

命令本身似乎相當直接的,但設置的配置似乎是稀缺的文檔的話題。顯然我需要安裝一個ODBC驅動程序。我在哪裏可以找到,並將其安裝到服務器上或運行此應用程序的工作站上?

如有蓮花大師可以通過設置此步驟我來說,這將不勝感激。

感謝

回答

3

你將需要在運行這個程序,如果用戶將被觸發ODBC連接的工作站上安裝的ODBC驅動程序。如果可能,我強烈建議在服務器端進行設置,並通過代理運行。這可以幫助您避免一些麻煩,包括必須在每個工作站上維護ODBC連接,並擔心每個工作站是否可以訪問數據和服務器。

您最初只是想確保你的ODBC設置正確。當然,您需要適當的驅動程序和連接信息。這個網站有一個演練給你一個想法how to setup an ODBC database connection

如果你有MS Access,你可以用它來測試從ODBC數據源查詢。測試完連接後,您只需在@DbColumn,@DbLookup或@DbCommand公式中引用數據源名稱(DSN)即可。

回到我在服務器端進行設置的建議,這意味着您將在Notes數據庫本身中保留您正在查詢的數據的副本,然後用戶將與只讀數據進行交互在Notes中。您可以在該只讀數據的服務器端定期安排更新,並有效地在Notes環境中創建數據緩存。然後,這些數據將複製到數據庫的其他副本,但可以消除各處需要的ODBC連接的麻煩。

如果您需要需要實時數據,但是該解決方案不在窗口中,您必須使用本地解決方案。在這種情況下,您可能需要查看LCConnection類或使用腳本中的ADODB.Connection,因爲二者都允許您創建與數據源的無DSN連接。然後,您可以省去在每個工作站上都​​需要ODBC數據源的麻煩,只需要擔心他們是否可以從工作站訪問服務器。

+0

謝謝。這是我正在尋找的確切信息。 – 2012-04-13 19:08:14

+3

請注意:如果您在Windows Server x64(64位)上運行Lotus Domino 32位,則需要在32位ODBC Administrator程序中定義您的ODBC數據源 - 而不是標準的64位ODBC管理員程序。這是因爲Lotus Domino ODBC驅動程序是32位的。 32位ODBC Administrator程序位於C:\ Windows \ SysWOW64 \ ODBCAD32.exe。 – 2012-04-13 19:46:47

2

我想補充另一種選擇肯的名單。它涉及讓服務器執行外部數據庫的查詢(因此,您只需在服務器上設置ODBC - 您不必在工作站上處理它)。您可以使用'run on server'技術創建在服務器上啓動的代理。當工作站需要查詢外部數據時,代碼將在數據庫中創建一個丟棄文檔,將查詢條件放入臨時文檔中,保存該文檔,然後調用「在服務器上運行」代理,將引用傳遞給臨時文件。服務器啓動代理,從臨時文檔讀取條件,執行查詢,並將結果寫回臨時文檔。然後工作站可以從臨時文檔訪問查詢結果。計劃的代理可以定期刪除臨時文檔。

這聽起來很複雜,而這一切在腳本中完成,但我已經在許多應用中做到了這一點,它是快速,靈活,易於管理,並給出了您的應用了大量的電能。請注意,最終用戶必須擁有ACL權限才能在db(臨時文檔)中創建文檔,以使其工作。

祝你好運!

+0

如果用戶啓動此過程,代理完成檢索並提供結果時dblookup是否已經發生? 您是否添加延遲以確保在工作站執行查找之前寫入信息? – 2012-04-17 16:16:23