电竞比分网-中国电竞赛事及体育赛事平台

分享

VFP與SQL Server的連接

 庋藏天下 2013-06-22
VFP與SQL Server的連接(2007-03-13 00:59:43)
 
VFP與SQL Server的連接(1)
     ----建立ODBC數(shù)據(jù)源(DSN)
                       

  摘要:本文主要講解VFP到SQL Server的連接以及連接中應(yīng)該注意的問題和錯誤的解決方法
  這里所指的連接關(guān)系(connection)指的是當(dāng)VFP通過界面卡、SQL Server 的網(wǎng)絡(luò)架構(gòu)、 傳輸媒介、通訊協(xié)議等復(fù)雜的作業(yè)組合后而連線到SQL Server的流程總稱。
  安全措施
  相信大家都了解數(shù)據(jù)的機(jī)密性和重要性,所以您最好采取一些安全防護(hù)措施來保護(hù)它不被非法存取和蓄意破壞。事前做好萬全的準(zhǔn)備總比事后的懊悔好。
  至于設(shè)定和維護(hù)資料的安全性是系統(tǒng)管理員(Administrator)的職責(zé)。
  假如您的應(yīng)用程序是C/S結(jié)構(gòu),那么程序的使用者都必須先通過身份驗證以獲得存取資料的權(quán)限,亦即使用者可利用在SQL中設(shè)定的使用者名稱和密碼,或直接用Windows NT 目錄資料庫中的使用者名稱和密碼來存取SQL資料庫。(這種做法請與SQL系統(tǒng)管理員聯(lián)系)。
  輸入用戶名稱和密碼的一般做法
  假如您的程序需要輸入用戶名稱和密碼的話,一般的做法是在屏幕上顯示一個對話框讓用戶輸入。在VFP中有一個TEXTBox 控件非常適合來擔(dān)任這個工作,它有一個passchar屬性,可以讓開發(fā)者設(shè)計要以什么字符來遮沒(通常是*,關(guān)于加密的程序以及算法可以參考VFP編程技巧)用戶輸入的密碼。
  建立ODBC數(shù)據(jù)源(DSN)
  ODBC數(shù)據(jù)源(Data Source Name : DSN)即是ODBC驅(qū)動程序的唯一識別名稱,DSN可以包含空白的字符,如 “FAVOR CAI” 由控制面板的32BIt Odbc 圖標(biāo),可以進(jìn)入ODBC數(shù)據(jù)管理器,如果沒有 32BIt Odbc 圖標(biāo),請先安裝ODBC驅(qū)動程序。
  用戶DSN是用戶用來存貯與數(shù)據(jù)庫的連接信息,用戶數(shù)據(jù)源只對用戶可見而且只能用于當(dāng)前機(jī)器上。
  系統(tǒng)DSN是用來存貯與數(shù)據(jù)庫的連接信息,當(dāng)前計算機(jī)上的所有用戶都可以使用系統(tǒng)數(shù)據(jù)源。
  文件DSN是用來存貯與數(shù)據(jù)庫的連接信息,可以由安裝了相同驅(qū)動程序的用戶共享。
  跟蹤允許創(chuàng)建調(diào)用ODBC驅(qū)動程序的日志,以供技術(shù)人員查看或輔助調(diào)試應(yīng)用程序。
  雙擊[添加(D)]按鈕,可以自行添加ODBC DSN,在彈出的“選擇新數(shù)據(jù)源”對話框中,選擇SQL Server 驅(qū)動程序。
  接下來,讓我們來看看DSN的相關(guān)設(shè)定,在ODBC SQL Server 設(shè)定對話框提供了下列的設(shè)定選項:
  1、Date Source Name(DSN):每一個ODBC驅(qū)動程序都有一個唯一的識別名稱。
  2、Description(說明):此說明資料來源,可省略不輸入。
  3、Server (服務(wù)器): 即SQL Server 所在的服務(wù)器名稱,若SQL Server 在本機(jī)上執(zhí)行的話,便可使用[Local ]預(yù)設(shè)值。
  4、 Network Address:(網(wǎng)絡(luò)地址):指SQL Server 資料庫管理系統(tǒng)(DBMS)的地址,SQL Server 驅(qū)動程序再從DBMS 取回要存取的資料。假如您用的是MicroSoft SQL Server 的話,只要讓這個欄位保留預(yù)設(shè)值(Default)即可,當(dāng)你是透過TCP/IP建立的連接關(guān)系時才需設(shè)定它。
  5、Network Library :指與網(wǎng)絡(luò)程序溝通的SQL Server 驅(qū)動程序的Network library DLL名稱
  6、Option按鈕:按一下,以設(shè)定Login 與Translation 的設(shè)定。
  ?。?):Database Name :要存取SQL資料庫的名稱。
   (2): Language Name:SQL Server 所指定的國家語言,除非你想讓SQL Server以法文或德文來傳遞信息,不然只需讓它保留預(yù)設(shè)值(Default)即可。
  ?。?): Generate Stored Procedure for prepared Statements:這個選項被核取的話,SQL Server 將預(yù)備敘述PS(Prepared Statements)插入在程序中再加以編譯為預(yù)存程序SP(Stored Procedure)。若清除這個檢查框的核取,則PS將與SQL Server 驅(qū)動程序運(yùn)作時執(zhí)行與貯存。
  ?。?): Translation:按下[Select]按鈕后,選擇翻譯程序。
  ?。?):Convert OEM To ANSI characters: 若SQL Server 和SQL Server 驅(qū)動程序都不使用ANSI字符的話,請核取這個檢查框。

VFP與SQL Server的連接(2)       
   ----怎樣取得服務(wù)器名稱和ODBC數(shù)據(jù)源  
                                 
  怎樣取得服務(wù)器名稱和ODBC數(shù)據(jù)源
  通常程序不會詢問用戶所要使用的是那一個SQL Server 或是那一個數(shù)據(jù)源,但假如你必須這么做的話,您可以在屏幕上顯示一個目前已在網(wǎng)絡(luò)上啟動或可被搜尋得到的SQL Server 或DSN 選擇清單(最好把用戶的使用權(quán)限也一起列舉),也不要讓用戶自行在TextBox上輸入,避免使用上的困擾。
  技巧:可以用SQL Server 上的函數(shù)SqlServerEnum來搜尋網(wǎng)絡(luò)上已經(jīng)安裝的SQL 服務(wù)器。
ODBC登錄對話框照理來說,一般應(yīng)用程序被執(zhí)行時應(yīng)該看不到ODBC 的登入對話框,但如果沒有作好適當(dāng)?shù)脑O(shè)定時,那么一旦ODBC驅(qū)動程序管理員接收到應(yīng)用程序存取ODBC失敗的信息時,屏幕上便會出現(xiàn)ODBC登錄對話框。也許您會感覺這個對話框跟您見到的對話框不同,這個對話框之所以出現(xiàn),是因為用戶沒有通過DSN的身份驗證造成。假如您指定了一個確實可供存取的DSN的話,將出現(xiàn)另一種登錄對話框。這是正確指定DSN才出現(xiàn)的對話框,唯一美中不足的是無法禁止用戶按下[OPTION>>]按鈕,進(jìn)而更改其登錄的高級設(shè)定。
  測試數(shù)據(jù)源
  為了避免在調(diào)試程序時,帶來不必要的麻煩,應(yīng)該在建立好DSN后,對DSN進(jìn)行測試。在VFP中你可以用 SqlConnect( )或者SQLSTRINGCONNECT( )函數(shù)來對DSN進(jìn)行測試。
  下面說說詳細(xì)的測試方法
  測試方法:? SqlConnect(數(shù)據(jù)源,用戶,密碼)
  例如: ? SqlConnect("EDSTW","sa","") 如果函數(shù)返回-1,表明數(shù)據(jù)源無法連接,請檢查數(shù)據(jù)源或者檢查SQL服務(wù)器是否正常。返回正數(shù),表明數(shù)據(jù)源連接成功。該返回數(shù)代表當(dāng)前連接的SQL句柄。
  連接管理
  網(wǎng)絡(luò)上的數(shù)據(jù)庫若被單一用戶獨(dú)占的話,就豪無意義可言,SQL Server的資料庫界面改善了前端的應(yīng)用程序來存取數(shù)據(jù)庫的效率,讓多個CLIENT可同時透過同一連接關(guān)系去存取數(shù)據(jù)。
  動態(tài)連接模式
  以往若應(yīng)用程序需多次存取某一數(shù)據(jù)庫的話,便會與該數(shù)據(jù)庫一直保持連接關(guān)系,如此因長期獨(dú)占而導(dǎo)致該連接關(guān)系處于空閑狀態(tài),浪費(fèi)資源。
  現(xiàn)在VFP加入連接共享以及空閑關(guān)閉的功能。 及時開啟連接關(guān)系:連接不活動前允許在指定的時間分鐘數(shù)內(nèi)空閑。如果在指定時間內(nèi)沒有請求使用服務(wù)器,則 Visual FoxPro 終止該連接。但是,連接超時后如果對服務(wù)器又有請求,則 Visual FoxPro 將試圖自動恢復(fù)這個連接。因為連接是作為數(shù)據(jù)庫的一部分存儲的,所以僅在有打開的數(shù)據(jù)庫時才能進(jìn)行連接建立。
  1:指定的數(shù)據(jù)源:有兩種方式指定數(shù)據(jù)源,一種用字符串來指定,允許在文本框中鍵入連接串。另一種用DSN,用戶標(biāo)識,密碼來指定:
   A:數(shù)據(jù)源 允許從已安裝的 ODBC 數(shù)據(jù)源列表中選擇一個數(shù)據(jù)源。
   B:用戶標(biāo)識 如果數(shù)據(jù)源需要用戶名稱或標(biāo)識,允許鍵入。
   C:密碼 如果數(shù)據(jù)源需要密碼,允許鍵入密碼。
   D:數(shù)據(jù)庫您可以選擇一個數(shù)據(jù)庫,作為所選數(shù)據(jù)源連接的目標(biāo)。
  指定DSN后您可以對剛輸入了內(nèi)容的連接進(jìn)行連接驗證。如果連接成功,則顯示對話框提示此“連接成功”;如果連接失敗,則出現(xiàn)錯誤信息。如果沒有對連接指定內(nèi)容,則顯示“選擇數(shù)據(jù)庫” 對話框,使您可以選擇數(shù)據(jù)源。
  新的數(shù)據(jù)源
  顯示“Data Sources”對話框,使您可以添加、刪除或配置數(shù)據(jù)源。
  2:顯示 ODBC 注冊提示
  此項設(shè)定ODBC登錄信息對話框是否出現(xiàn),什么時候出現(xiàn)。
   A:僅當(dāng)?shù)卿浶畔]有指定時:如果在命名連接定義中未存儲用戶標(biāo)識和密碼,則 Visual FoxPro 用“ODBC 數(shù)據(jù)源注冊”對話框提示用戶。
   B: 每次都顯示: 指定 Visual FoxPro 總是使用“ODBC 數(shù)據(jù)源注冊”對話框提示用戶,該框允許用戶使用與存儲在命名連接中不同的注冊 ID 和密碼。
   C:從不指定: Visual FoxPro 從不提示用戶。此選項確保更高的安全性。
  3:數(shù)據(jù)處理
  這里可以設(shè)置連接數(shù)據(jù)的處理方式
   A:異步執(zhí)行 指定異步連接。
   B:顯示警告信息 指定顯示不可捕獲警告。
   C:批處理 指定以批處理方式進(jìn)行連接操作。
    (1):批處理方式 ---- 分批從表中取出設(shè)定的記錄數(shù)(默認(rèn)值100)
    (2):非批處理方式---- 一次取完整個表的數(shù)據(jù) D:自動事務(wù)處理指定自動執(zhí)行事務(wù)處理。
   E: 數(shù)據(jù)包大小當(dāng)和遠(yuǎn)程數(shù)據(jù)位置之間傳送信息時,您可以指定傳送信息網(wǎng)絡(luò)包的大?。ㄒ宰止?jié)為單位)。在下拉列表中選擇或鍵入一個值。
  4:超時時間間隔
  這些選項設(shè)置連接屬性的值,也可用 DBSETPROP( ) 函數(shù)設(shè)置。
   A:連接(秒) 以秒為單位指定連接超時時間間隔。
   B:查詢(秒) 以秒為單位指定查詢超時時間間隔。
   C:空閑時間(分鐘)以分鐘為單位指定空閑超時時間間隔。在指定的時間間隔后,活動連接變?yōu)椴换顒印?BR>   D:等待時間(豪秒) 以毫秒為單位指定在 Visual FoxPro 確定 SQL 語句是否執(zhí)行完畢之前經(jīng)過的時間。 設(shè)定完畢后按下CTRL+W 鍵存盤。

VFP與SQL Server的連接(3)       
   ----監(jiān)視SQL Server 上的連接情況

  在SQL Enterprise manager中的[Server /Current Activity]可以讓您一目了然地看出SQL的連接情況,
是個非常好用的工具。
  在Current Activity中,可見到已登入的用戶清單、數(shù)據(jù)庫名稱、工作站名稱與應(yīng)用程序名稱。下方的狀態(tài)欄顯示目前有多少連接關(guān)系正在運(yùn)作,多少連接關(guān)系處于空閑。

  存取時限
  一般連接關(guān)系的存取時限從15秒到1、2分鐘不等,至于精確的數(shù)值要視你所選擇的程序界面與時限的設(shè)定值而定。亦即假如你要存取數(shù)據(jù)庫時,選擇了不正確的服務(wù)器或服務(wù)器已經(jīng)關(guān)機(jī),則CLIENT端便會沒有任何反應(yīng),一直到存取時限時,才會返回連接失敗信息。
  若要連接LAN網(wǎng)中的SQL SERVER不須耗費(fèi)多少時間,約1至5秒內(nèi)便能獲得回應(yīng),應(yīng)用程序第一次連接會花費(fèi)較長的時間,第二次后會比較短。因為Windows系統(tǒng)會將先前的連接關(guān)系所用的控件或DLL文件一直保留在內(nèi)存。

  設(shè)定遠(yuǎn)程數(shù)據(jù)的存取方式
  您可以自己設(shè)定取數(shù)據(jù)的處理方式,在VFP的TOOLS菜單里,選中Options... 菜單項,彈出OPTIONS對話框,選中Remote Data 標(biāo)簽:
 1: 共享連接 指定 Visual FoxPro 使用當(dāng)前連接處理新的視圖。在數(shù)據(jù)源一次只支持一個連接時,它很有用。它可以使一個連接處理多個視圖。
 2:取備注字段指定只有在視圖輸出中激活一個備注或通用字段后才從數(shù)據(jù)源取備注或通用字段。清除該選項可以減少初始從遠(yuǎn)程表中下載的數(shù)據(jù)量,這將提高性能。
 3:SQL 更新條件 指定當(dāng)您試圖更新數(shù)據(jù)前的數(shù)據(jù)對比方式,Visual FoxPro 檢查遠(yuǎn)程服務(wù)器上的字段來決定是否改變數(shù)據(jù)。如果選擇條件所指定遠(yuǎn)程字段中的數(shù)據(jù)已經(jīng)更改,則更新失敗。
 ?。?):Key Fieds Only 只對比主鍵
  (2):Key and Updateble Fieds 對比主鍵和要更新的字段
 ?。?):Key and Modified Fieds 對比主鍵和修改過的字段(默認(rèn))
 ?。?):Key and Timestamp 對比主鍵和數(shù)據(jù)庫的時間截。
 4:SQL 更新 指定 Visual FoxPro 是使用 SQL UPDATE 還是使用 SQL DELETE,然后用 INSERT 來更新遠(yuǎn)程服務(wù)器上的信息。
 ?。?):SQL Update 直接用SQL語言更新(默認(rèn))
 ?。?):SQL Delete + SQL Insert 刪除舊記錄,然后增加一條新記錄
 5:每次取的記錄數(shù) 當(dāng)用批處理方式時,指定 Visual FoxPro 從遠(yuǎn)程數(shù)據(jù)源中一次返回多少條記錄。選定“全部”可以指定在第一次取操作中即返回所有的記錄。該設(shè)置受“要取的最大記錄數(shù)”中指定值的限制。  6:要取的最大記錄數(shù)指定一個視圖返回的記錄總數(shù)。如果您錯誤地建立了一個查詢,它可以防止返回過多的數(shù)據(jù)。選擇“全部”可以指定返回所有的記錄。
 7:使用備注字段的長度 >= 指定長字符型字段中數(shù)據(jù)的最大長度。指定在視圖輸出中,如果字符數(shù)據(jù)超出指定長度時,將長字符字段轉(zhuǎn)換成備注字段。默認(rèn)值是255,等于 Visual FoxPro 中字符型字段的最大長度。
 8:成批更新的記錄數(shù)指定視圖一次發(fā)送的更新語句數(shù)目。調(diào)整這個值可以明顯地提高更新性能。默認(rèn)值是 1。有關(guān)的詳細(xì)內(nèi)容,請參閱“REPLACE 命令”以及“Scope 子句”。
 9:異步執(zhí)行 指定把控制權(quán)返回給您的應(yīng)用程序之后,Visual FoxPro 在后臺執(zhí)行 SQL pass-through 命令(使用 SQLEXEC( )、SQLMORERESULTS( )、SQLTABLES( ) 和 SQLCOLUMNS( ))。
  如果您選定了該選項,您的應(yīng)用程序可以顯示過程信息,并且允許用戶使用 ESC 鍵中斷一個命令(如果 SET ESCAPE 已經(jīng)設(shè)置為“真”)。您可以決定一個異步執(zhí)行的 SQL 命令的狀態(tài),方法是重復(fù)地調(diào)用其中一個 SQL pass-through 函數(shù),直至它報告命令已經(jīng)完成為止。這個選項的默認(rèn)值是廢止(同步執(zhí)行),它指定 Visual FoxPro 在把控制權(quán)返回您的應(yīng)用程序之前一直等待,直至 pass-through SQL 命令完成為止。
 10:顯示警告信息 允許顯示警告信息。
 11:批處理 在使用 SQLEXEC( ) 發(fā)送多個 SQL pass-through 語句時,指定 Visual FoxPro 并不返回任何結(jié)果,直到所有結(jié)果集合都檢索到為止。
  對應(yīng)于在 SQLSETPROP( ) 函數(shù)中設(shè)置 BatchMode。如果廢止了該選項,您必須調(diào)用 SQLMORERESULTS( ) 來確定數(shù)據(jù)是否可用。
 12:自動事務(wù)處理指定由遠(yuǎn)程表上的連接自動處理事務(wù)。如果清除了該選項,您必須使用 SQLCOMMIT( ) 和 SQLROLLBACK( ) 人工處理事務(wù)過程。
 13:顯示登錄信息當(dāng)一個連接激活時,指定是否顯示登錄提示(如果該連接需要用戶進(jìn)行登錄)。例如,“只在必要時”指出,只有在連接或視圖定義中未指定登錄信息的情況下,才出現(xiàn)登錄提示。
 14:連接超時設(shè)定(秒)指定與遠(yuǎn)程服務(wù)器建立一個連接所需等待的秒數(shù)(0 到 600 之間)。如果在指定時間內(nèi)不能建立這個連接,則 Visual FoxPro 顯示錯誤。指定 0 為無限制地等待一個連接。
 15:空閑超時設(shè)定(分鐘)指定連接不活動前允許空閑時間的分鐘數(shù)。如果在指定時間內(nèi)沒有請求使用服務(wù)器,則 Visual FoxPro 終止該連接。但是,連接超時后如果對服務(wù)器又有請求,則 Visual FoxPro 將試圖自動恢復(fù)這個連接。
 16:查詢超時設(shè)定(秒) 指定等待服務(wù)器響應(yīng)一個請求的秒數(shù)(0 與 600 之間)。如果服務(wù)器在指定秒數(shù)的時間內(nèi)還不處理查詢,則 Visual FoxPro 顯示錯誤。指定 0 可以無限制地等待查詢結(jié)果。 等待時間(毫秒) 指定 Visual FoxPro 檢查 SQL 語句是否執(zhí)行結(jié)束之前經(jīng)過的毫秒數(shù)。

VFP與SQL Server的連接(4)       
   ----解決區(qū)域網(wǎng)絡(luò)方面的連接問題          

  排除連接錯誤
  C/S程序結(jié)構(gòu)的運(yùn)作就像是主人與仆人之間的互動一樣,仆人偶爾會因溝通不良而抱怨。這種情況在C/S程序中即所謂的錯誤信息(Error message ),每個錯誤信息都包含了一個錯誤代碼與描述問題的說明文字。由于各種程序的錯誤處理方式不盡相同,所以當(dāng)我們在做除錯工作之前,除了要參考錯誤信息外,還應(yīng)當(dāng)注意下列幾個問題,以掌握可能的原因,提高效率。
  錯誤原因
  1:程序以往在執(zhí)行時是否曾成功建立連接關(guān)系?如果是,后來有沒有變更過什么設(shè)定?因為若曾經(jīng)連接成功的話,那么在設(shè)定、安全、通訊協(xié)議等方面應(yīng)該不會有問題。之后,假如有安裝新版的應(yīng)用程序、操作系統(tǒng)后升級驅(qū)動程序的話將影響連接情況。
  2:屏幕上顯示什么信息?Modem 或網(wǎng)絡(luò)卡的LED顯示是否正常?屏幕上的信息可以引導(dǎo)我們朝正確的方向排除錯誤。Modem 或網(wǎng)絡(luò)卡的LED顯示網(wǎng)絡(luò)交通是否正常運(yùn)作。
  3:網(wǎng)絡(luò)是否已超出負(fù)荷?用戶是否搭錯線,連接到其他的網(wǎng)絡(luò)?也有可能許多應(yīng)用系統(tǒng)一直站用網(wǎng)絡(luò)資源造成網(wǎng)絡(luò)異常。
  4: 碰到錯誤時、程序有沒有做除錯措施或者直接關(guān)機(jī)。
  程序庫所引發(fā)的連接問題很多問題的發(fā)生都因為動態(tài)連接程序庫(DLL)或控制元件(Control,即OCX),存放到其它目錄或者根本沒有安裝到系統(tǒng)中,或由于安裝了新版的ODBC 而覆蓋掉舊版的ODBC所引起的。他們必須被放置到程序載入器(WIndows loader)在執(zhí)行期間能找到的地方,一般在Windows\system之下,而且這些程序應(yīng)該在系統(tǒng)注冊、安裝,而不是直接放置到該目錄就可以。
  所有Windows 平臺的Windows loader作業(yè)流程都是相同的,一旦程序檔案總管、瀏覽器、執(zhí)行.......等方式啟動后,Windows loader 便會依次往下列幾個地方搜尋相關(guān)的程序庫或元件:
  1: Momery
  2: 應(yīng)用程序所在的目錄
  3: Windows 的目錄
  4: Windows\system目錄
  5: 環(huán)境變數(shù)所指定的目錄
  如果以上五個地方都找不到相關(guān)的程序庫或元件的話,Windows便會告知用戶錯誤信息。
  Microsoft SQL Server 的Client 端是籍由named pips 與Server端溝通的,為了支持named Pips ,所有程序界面都采用16位元的DBNMP3.DLL或32位元的DBNMPNTW.DLL程序庫。在強(qiáng)調(diào)一次,這些DLL檔必須被放置在Windows\System或其他Windows loader 能找到的目錄。
  解決區(qū)域網(wǎng)絡(luò)方面的連接問題
  通常根據(jù)下列的問題及步驟來處理這方面的問題:
  1:用戶是否確實登入網(wǎng)絡(luò)?這是常見的疏忽,因為用戶經(jīng)常只登入到工作站本身,而沒有進(jìn)入網(wǎng)絡(luò),這是您可以選擇開始/關(guān)閉系統(tǒng)來關(guān)閉所有程序,登入成其他的用戶,重新做一次登入。
  2:是否還有連接空間讓用戶使用? 假如用戶建立許多的連接關(guān)系后,忘了切斷它,那么操作系統(tǒng)有可能無法建立新的連接,有些操作系統(tǒng)可供同時連接的數(shù)目是有限的,預(yù)設(shè)的狀況下,假如用戶同時用4、5條的遠(yuǎn)端連接關(guān)系后,這個用戶若想再連線到SQL Server 就會有問題。
  3:網(wǎng)絡(luò)是否癱瘓?假如執(zhí)行了很多個遠(yuǎn)端數(shù)據(jù)庫存取程序都無回應(yīng)的話,您可用[網(wǎng)絡(luò)鄰居]來檢查其他機(jī)器上的共用目錄是否依舊可以存取。
  4:您是否曾用Client Configuration Utility 去設(shè)定裝置的驅(qū)動程序后網(wǎng)絡(luò)地址?當(dāng)SQL Server 支援TCP/IP后,系統(tǒng)會要求您做相關(guān)的設(shè)定。因系統(tǒng)將參照網(wǎng)址而非用名稱來存取服務(wù)器。
  與SQL有關(guān)的連接問題通常根據(jù)下列的問題及步驟來處理這方面的問題
  1:用戶是否輸入正確的登入ID和PASSWORD。
  2:服務(wù)器有沒有運(yùn)作?當(dāng)服務(wù)器開機(jī)時,是否有自動開啟SQL Server?您可以在控制臺的服務(wù)程序或用Startup.cmd 這個批處理文件來檢視這項設(shè)定。也可以用SQL Server Manager 來確定SQL Server 是否正常運(yùn)作:
 ?。?):服務(wù)器的RAM或硬盤空間是否太小了?
  (2):SQL Server 數(shù)據(jù)庫中的資料是否以壞掉?
  (3):SQL SERVER 是否處于單機(jī)模式運(yùn)作?或SQL的ADMINISTRATOR正在維護(hù)系統(tǒng)。
  用戶權(quán)利和授權(quán)問題
  SQL SERVER 具有可連接超過1000個的用戶的能力,但真正可同時連接的數(shù)目就要看Administrator 的設(shè)定了,每一條的連接關(guān)系都會消耗37KB至42KB大小不等的RAM,這些RAM是被用來充當(dāng)程序或資料的快取空間之用。微軟公司要求所有要存取WIndows NT 或SQL Server 的用戶都必須取得用戶端存取授權(quán)(Client Access License :ACL)。用戶端存取授權(quán)和操作系統(tǒng)授權(quán)是分開的,用戶端存取授權(quán)有兩種:
  1:每服務(wù)器模式(Per Server Mode):用戶在用戶端可與SQL Server 或Windows NT 建立n條連接關(guān)系。換而言之,不能同時有超過n個的連接關(guān)系存取服務(wù)器。
  2:每一客戶模式(per Seat Mode ):每個用戶端都必須購買用戶段存取權(quán)限,若同時連到NT & SQL Server 的連接關(guān)系已經(jīng)超過每一客戶的授權(quán)數(shù)目,用戶端的用戶仍然可繼續(xù)連線上來。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多