Lotus 經驗談(轉)

HighCache發表於2007-08-28
Lotus Domino/Notes是目前最為流行的文件資料庫系統之一,作為群件系統,它利
用自身強大的功能使其在企業、政府辦公自動化方面的應用越來越廣。筆者在此總結了
一些Notes開發和管理的常見問題,希望對大家有所幫助。
  問:當硬碟空間不夠時,如何壓縮我的Notes工作臺?
  答:由於Notes資料庫是典型的文件型資料庫,因此長期使用後會佔用較大硬碟空間
,為此我們需要經常對這些資料庫進行壓縮。常用的壓縮方法是:
  1.用滑鼠右鍵單擊任意工作臺頁面,並且選擇“工作臺屬性”。
  2.在“工作臺”屬性框中選擇第二個屬性按鈕,並單擊壓縮按鈕實現壓縮。
  問:對自行開發的資料庫,如何將其儲存為模板,以便於以後使用?
  答:如果已經開發或更改了某個資料庫,我們通常希望儲存它的結構,以便用於今
後的開發。這種做法不僅節省時間,而且在應用程式間保證了一致性。我們利用以下步
驟可以實現把某資料庫儲存為模板:
  1.選擇“檔案資料庫新建複製”。
  2.在“複製資料庫”對話方塊中,輸入伺服器、標題和檔名,其中副檔名為NTF

  3.選擇資料庫設計核取方塊,並儲存為資料庫。
  4.單擊“確定”按鈕,生成資料庫模板。
  問:在除錯Lotus Domino程式時,經常會觸發執行qnc.exe程式並退出 Notes,如何
解決?
  答:在除錯Lotus Domino/Notes程式時,由於程式設計的問題,我們經常會觸發執
行 qnc.exe程式,並提示錯誤。其實qnc.exe執行目的只是Notes的記憶體保護性措施,並不
一定是程式本身有錯誤。為了便於除錯程式,我們可以在 Lotus Domino指令視窗內鍵入
qnc _u,使其暫停執行。 如果想恢復時可以再用qnc _i指令裝載它。
  問:伺服器重灌後,對一臺曾經安裝過Notes客戶端的機器如何重新連線到新伺服器

  答:首先你需要利用新建的伺服器生成一個新的使用者ID檔案,並刪除原ID檔案。
  為了在客戶端不重新安裝Notes,我們需要重新設定客戶端如下:
  1.刪除desktop.dsk、log.nsf和names.nsf檔案。
  2.在文字編輯器中編輯Notes.INI檔案,保留該檔案中的前六行內容,其餘內容全部
刪除,儲存Notes.INI檔案並退出。
  當你再次雙擊Notes圖示時,Notes系統會自動執行安裝程式,你只需用新的使用者ID
檔案進行簡單的設定即可連線到新伺服器上。
  問:在使用過程中,當Notes異常退出時,如何才能再次執行Notes?
  答:通常Notes異常退出,系統是不能再次執行Notes的。這時常見的方法是重新啟
動計算機並執行Notes。
  其實我們也可以不重啟計算機而馬上開始Notes,即我們手動殺死一個因Notes異常
退出而遺留在記憶體中的程式nhldaemn.exe,然後我們就可再次啟動Notes。
  問:在開發Lotus Notes應用系統時,如何隱藏 Lotus本身的選單?
  答:為了隱藏Lotus本身的選單條,我們需要新增以下定義:
  Declare Function GetActiveWindow Lib "user32.dll" () As Long
  Declare Function SetMenu Lib "user32.dll" ( Byval hmenu As Long, Byval n
ewmenu As Long ) As Integer
  然後,在你的指令碼中新增下面的程式:
  Dim hwnd As Long
  hwnd = GetActiveWindow()
  Call SetMenu(hwnd,0)
  透過以上幾個步驟,你就可以實現隱藏Lotus本身的選單條了。
  問:當伺服器啟動時, Notes顯示訊息說“找不到Notes.INI檔案”,這時如何解決

  答:如果你執行的是Windows版本的Notes伺服器軟體,使用寫字板去顯示和編輯AU
TUEXEC.BAT檔案,在P ATH語句中新增Notes.INI檔案所在目錄,並重啟動機器。
  問:開發Lotus Notes應用系統時,如何更改視窗標題條文字?
  答:為了使開發的Lotus Notes應用系統更加商業化,我們需要更改Notes視窗標題
條文字。
  我們可以在文字編輯器中開啟 notes.ini檔案,在其中加上一行程式碼: Window_Titl
e=string。
  其中string就是我們需要的視窗標題條文字。
:資料庫的文件時常出現複製與儲存衝突,如何解決?
A:"複製與儲存衝突"是由於同時有兩個或兩個以上使用者對同一文件進行修改,或者是多
個使用者對同一文件的不同副本進行修改,複製時就會造成複製衝突。對於公用資料庫,
可以透過
 把檢視作為"共享首次使用為私有的"來避免。另外,選中表單的 “合併複製衝突”屬
性可以把對同一文件的不同域的修改合併到同一個文件中以避免複製衝突,但如果是對
同一個域
 的修改仍然會出現衝突文件。
Q:如何獲得Domino(伺服器)端的時間?
A:可以在需要取得伺服器時間時,在伺服器上建立一個新文件,取得這個文件的建立時
間就行了,注意不儲存這個新文文件。
Q:如何用Lotus Script 刪除私有檢視?
A:如下: Dim session As New notessession
     Dim db As notesdatabase
     Dim doc As notesdocument
     Set db=session.currentdatabase
     Forall i In db.views
      Set doc=db.getDocumentByUNID(v.universalID)
     ' 這個地方檢視當作文件來處理,以便取到檢視的一些屬性。
     viewflag=doc.getItemvalue("$flags")
     If viewflag(0)="pYV" Then
     ' 檢視屬性中$flags為"pYV"的是私有檢視。
         Call i.remove
      End If
     End Forall
Q:如何用瀏覽器訪問基於NT的Domino伺服器呢? 因為NT上的預設主頁是MICROSOFT的, 我
不知如何改為為Domino的.
A:NT Server預設使用MICROSOFT主頁是由於啟動了NT自帶的IIS服務,有以下三種解決方
法:
 1。關閉NT本身的IIS服務,使Domino Server的http伺服器能夠使用80埠。
 2。修改Domino上http任務的埠為80以外都某一個值,然後從Domino Server 輸入L
oad http命令以啟動http任務。當從瀏覽器訪問
 Domino資料庫時,在URL地址後加埠號,如
 3。把Domino Server與IIS整合,使IIS能夠訪問 Domino資料庫,然後在IIS中設定預設
主頁為Notes資料庫。
Q:Notes可以在iMAC上執行嗎
 指的不是iMAC的PC介面下。是透過APPLE TALK互連嗎?
A:Notes Client有Mac的版本,但Domino Server就不能跑在Mac上了,另外Notes支援 Ap
ple talk網路協議。
Q:怎麼把domino設定SMTP伺服器
 如何把domino設定成一個用來發信的smtp伺服器(可以不收信). 按照預設設定,發信的
時候總是說地址當中包含非ASCII字元.
A:非ASCII字元通常是由於中文使用者名稱造成的。
 設定 Domino Server為SMTP Server,都需要在伺服器文件中設定:
  路由任務:郵件路由、SMTP路由
  全限定的 Internet主機名:主機名+Internet域名(用。連線)
  SMTP監聽任務:啟用
 如4.6前版本須另外安裝SMTP MTA, R4.6x把 SMTP MTA 整合到Domino Server中,R5以
後Domino壩SMTP做成了伺服器上的一個
 任務,不需要另外安裝 MTA。
 R4的SMTP MTA配置在幫助文件中有詳細描述,主要在如下幾個文件(都存在於公共通
訊錄中)中進行相應的設定
   1、伺服器文件中的SMTP MTA
   2、網路域(GLOBALDOMAIN)
   3、網路域(外部SMTP網路域)
   4、連線文件(從伺服器到ANYHOST)
 首先需要設定一臺單獨的伺服器用於收發Internet郵件(即郵遞任務為SMTP郵件郵遞
),然後在公用通訊錄中設定全球網路域、外部的SMTP網路域和 SMTP連線文
 檔三個文件。
 全球網路域中主要設定:
 在“基本”區段:全球網路域名稱,“全球網路域角色”為“SMTP MTA”, “預設全
球網路域”
 在“SMTP地址轉換”區段:“Internet網路域字尾”及 Notes網路域設定
 SMTP網路域中設定: Internet網路域為*.*,任意設定一個網路域名稱。
 新建一個伺服器連線文件,設定連線型別為SMTP,目的網路域與前面在"SMTP網路域"
中設定的Internet網路域相同,另外應設定有一個待發訊息就傳送
   完成以上配置後即可。
 R5的SMTP可以直接使用作業系統的 DNS,只需要在Domino目錄的配置文件中的"路由/S
MTP"頁,基本區段下設定:
  離開本地Internet網路域的訊息使用SMTP
  離開本地Internet網路域的轉發主機:如果是透過代理伺服器或防火牆連線到Inter
net上,則輸入其IP地址;如果是直接連線到 Internet上,則該域為
 空
 修改完成後,重新啟動DOMINO伺服器。
Q:如何從資料庫A的文件中透過單擊開啟另一個資料庫B的文件?
A:在資料庫A的表單中建立一個RTF域,用NotesRichTextItem的AppendDocLink建立連線
即可。或是在編輯模式下,開啟資料庫B的文件,然後從編
 輯選單下單擊連結式複製--文件連結,然後在資料庫A表單的RTF域中貼上即可。

Q:答覆文件 ?
 請問答覆文件從主文件那裡繼承了哪些 FIELD 怎樣訪問它們?
A:它可以繼承主文件中所有的FIELD,用主文件的域名來呼叫(答覆文件域的預設值用主
文件的域名)。
Q:Notes Client 無法執行
 不知道改了什麼設定了之後, 在 Notes Server 執行時, Notes Client 就無法執行
, 只顯示一下splash 視窗就完事了。 而當
 Notes Server 關閉時, Notes Client 就可以執行。
A:在Domino Server上如果設定了口令,起伺服器機器上的Notes Client就會出現這種情
況,去除口令即可。另外由於Domino Server和
 Notes Client對系統資源要求較高,同時啟動時可能會造成一些衝突,因此不建議用
戶在同一臺機器上同時使用Server和Client。
Q:如何在Internet中使用Notes?
 區域網中有Lotus Domino和 www伺服器,如何使用Notes作為Intranet網的預設的電子
郵件系統?在網頁中如何編寫Notes的電子郵件地址的超級
 連結?
A:NOTES的電子郵件對外有如下形式的電子郵件地址形式:
 username/groupname@domain
 如:white/soft@soft
 可以在Internet瀏覽器中設定Notes為預設電子郵件系統。以IE為例:在客戶端安裝N
otes以後,啟動IE,然後在Internet選項的程式頁中設定郵件選
 項為"Lotus Notes"。在網頁中設定Notes的郵件地址與Internet地址形式相同:設定
一個連線,內容為
 mailto:user/OU/Org@domain
Q:如果安裝notes/cc:Mail時沒有找到與Modem相匹配的驅動程式,應如何解決?
A:有三種解決辦法:
 首先可從 中的Quick Link下選擇"Modem files"下載最新的Modem驅動
程式包(Zip檔案);
 或者,選擇cc:Mail隨機驅動程式中與Modem最相近的驅動程式;
 最後,可按照Cc:Mail Modem 驅動程式(.mdm)的格式定製自己的驅動程式。
Q:共享郵件資料庫是否能從ServerA移到ServerB?
A:不可以! 因為共享郵件資料庫由Server ID加密,只有建立此資料庫的Server ID才能
訪問它。
 如果希望移動使用者從ServerA到ServerB並仍然使用共享資料庫,可用以下步驟實現:
 1>. 從ServerA到ServerB建立一個新的共享資料庫副本。即在ServerB中生成一個 無
連線的郵件資料庫。
 2>. 建立共享資料庫連線: Load Object Link -Relink USERMAIL.NSF 共享郵件資料
庫.NSF
Q:在用瀏覽器訪問Domino時, 如何在輸入某個欄位過程中,隱藏(或以*號顯示)其內
容?
A:R4.6X, 在此域的HTML屬性值中鍵入: TYPE=Password
 R4.5X, 在此域屬性框的幫助描述項中鍵入: TYPE="Password"]
 
 注: Type=Password 僅適於在編輯方式的可編輯欄位


Q:在以前的Notes版本中(如此而4.5.2), 當年份為1950-1999時, Notes僅顯示兩位, 20
00年後才顯示四位. 如07/07/1997
 Notes 顯示為 07/07/97; 07/07/05, Notes 顯示為 07/07/2005. 如何解決這些版本
的年份問題?
A:可使用公式對此進行轉換 (假定域名為 DateEetery):
 @If(@Year(DateEntry) >= 50; @Text(DateEntry;"d2") + "/" +
 @Text(@Year(DateEntry)); DateEntry)
Q:不使用分割槽(Partitioning)伺服器,如何在一臺NT伺服器上安裝兩個Domino伺服器
(一個R5,另一個R4.X).
A:分割槽伺服器主要用於保證可以在一臺機器上同時啟動多個Domino伺服器。如果一次只
需啟動一個伺服器,只要把幾個Server分別安裝在不同的子目錄下,然後更改啟動
 Server的快捷方式,在Nserver.exe 後增加" =NotesPathNOTES.INI",其中NotesP
ath為Notes.ini所在的目錄
 (絕對路徑)。需要注意的是安裝新的Server時會自動把前一個Server的Notes.ini改
為Notes.00x,以區別當前的Notes.ini。
Q:當Notes異常退出時,系統資訊通常提示要重新啟動計算機。是否有辦法不重啟計算機
而馬上開始Notes?
A:只需要使用作業系統的工作管理員,手工關閉一個因Notes異常退出而遺留在記憶體中的
程式:nhldaemn.exe,就可以不重啟計算機,而馬上開始Notes。但是當
 計算機上同時執行著Domino時,還需要先把它關閉,然後才能再啟動Notes。
Q:如何設定Domino Server的自動轉發功能?
A:編輯公用通訊錄中的個人文件,在"轉發地址(Forwarding Address):"中填入目標用
戶郵件地址,則此使用者的所有郵件將自動轉發到目標地址(可以為
 Notes地址或Internet地址)。
Q:如何設定執行代理的許可權?
A:執行代理的許可權由公用通訊錄中伺服器文件裡有關的域進行限制。需要注意的是,這
裡設定的使用者名稱應為給代理簽名時使用的使用者ID,而不是執行代理的使用者ID。此後每次
對代理
 進行修改,都需要重新進行簽名。不論此代理在前臺、後臺或以WEB方式執行,伺服器
均檢查對代理進行簽名的使用者ID是否擁有相應的許可權。
Q:如何設定Domino Server為NT的一個Servics,使管理員可以從伺服器管理器中設定自
動啟動Domino Server?
A:使用Notes R4時,可以在notes server的程式目錄(通常為C:NOTES)下執行 ntsvi
nst -c;R5則需要在安裝Domino時選擇定製
 安裝,就會出現一個選項"Domino作為NT服務"。選中以後繼續安裝,系統將自動進行
相關設定。如果在安裝時沒有進行相應設定,可以在原Domino安裝目錄上再安裝
 一次,透過定製安裝只安裝此選項即可。
Q:在英文版的Notes中如何輸入中文?
A:在Notes 5.0以後的版本中已經可以直接輸入和顯示中文(可能有個別輸入法不支援,
可以使用作業系統自帶的輸入法)。5.0版以前的英文Notes需要在
 Notes的程式目錄下複製以下幾個檔案:
 1。用 collGB.cls 覆蓋 collSTD.cls
 2。用 l_cpGB.cls 覆蓋 l_cpWIN.cls 和 l_cpDOS.cls


Q:關於Win98和Domino
 在Win98下安裝Domino,有時可以,有時不行。啟動Notes時 ,顯示nlnotes執行法操作,qnc錯誤。
 為什麼?什麼條件下Domino可以在win98下安裝成功?
A:如果你用的是4.6或4.63版,應該沒有問題用在98上,64MB/4G/300MHz,懷疑 這個錯誤可
能和硬體配置沒有達到有關,就好像小馬拉大
 車,32MB/6G/266MHz, 當word, Notes, Lotus SmartSuite同時起可能只是容易死.
Q:NOTES文件的WEBQUERYOPEN事件是否當建立新文件和開啟閱讀時都會執行呢?
 如果只想該事件只在建立時執行,開啟閱讀時則不執行,該怎樣做呢?
A:可以透過在WEBQueryOpen事件中使用@IsNewDoc函式來作判斷正在操作的文件是否新文
檔。
Q:網上都有哪些有關Lotus的站點呢?
A:蓮花公司站點:
 
 
  support.lotus.com
 
 IBM紅皮書:
 
 以及其他一些新聞組:
  news.cz.js.cn
  news.vol.cz
  news-reader.wcg.net
  read1.tor.accglobal.net
  comp.groupware.lotus.notes.misc
  comp.groupware.lotus.notes.admin
  comp.groupware.lotus.notes.application
 ......
Q:如何用notes讀入格式化文字?
A:什麼樣的格式化文字?如果是Excel或Lotus1-2-3表格,用DDE可以直接傳送.
 是文件編輯時“讀入”,還是要寫程式“讀入”?
 如是前者,用"copy"->"選擇性貼上".
 如是後者,可就麻煩些,先要知道是什麼“格式化文字”,然後才能決定下一步如何處
理。
Q:Notes網路聯接
 在使用Lotus Notes做伺服器(NT下)時,工作站無法登入,在工作站的windows下編
輯了HOSTS檔案,寫入了伺服器IP地址,還是沒用,請問這裡那裡出
 了問題?
A:請注意:
   1.Host 檔案中是怎麼寫的?IP地址後要有伺服器(DOMINO)的名字
   2.伺服器是否正常啟動.
   3.工作站端提示什麼錯誤
  從客戶端的命令列下 PING DOMINO伺服器名 可以測試網路(TCP/IP協議)的物理連通
性。另外要注意在NOTES的伺服器和客戶端中啟用的埠和使
 用的協議。
   在WINDOWS下設定DNS伺服器地址。有幾個解決方案:
     1、在NT上建一個DNS伺服器
     2、或建一個WINS伺服器
     3、透過NETBIOS埠連線伺服器(別忘了把DOMINO的LAN0埠啟用)
     4、HOST檔案
Q:如何在代理中延時執行?
 在代理中用Script寫一個程式,在執行期間某段程式碼需要延時幾分鐘執行,類似Dela
y語句,可以嗎?如何做?
A:可以在Lotus Script種使用timer或sleep語句實現,在notes幫助中有詳細的例子和說
明。
Q:怎樣遮蔽文件儲存衝突
 當文件儲存衝突時,怎樣遮蔽掉系統的資訊框,而彈出自己的訊息框?
A:可以在 querySave 事件裡寫一段程式。根據當前文件的UNID 在資料庫中找到一個文
檔。
 這個文件如果是被他人修改過的,則$Revisions 域的值肯定和當前為儲存的不同!
Q:關於Qnc錯誤
 經常出現Qnc錯誤,它是怎麼回事?
A:最好是用qnc -u把它給卸掉。qnc 是Lotus 的一個Debug程式.
 做法是在各個client上直接刪除qnc。它可以檢測到你的系統的問題給予你以提示,可
以讓你知道你的系統中存在的問題或小或大。有點像一個監測器吧?
 如果不喜歡它可以在DOS下(或WINDOWS的“執行”中)鍵入qnc -u 使其不再執行。
 如果你覺得還有必要的話可以再用qnc -i裝載它。[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/184309/viewspace-966482/,如需轉載,請註明出處,否則將追究法律責任。

相關文章