1. 程式人生 > >SqlServer連結伺服器配置及其在作業更新時出現 [SQLSTATE 42000](錯誤 7410)的分析處理

SqlServer連結伺服器配置及其在作業更新時出現 [SQLSTATE 42000](錯誤 7410)的分析處理

在進行一些企業應用開發時候,經常地需要在Sqlserver2000裡面,直接的呼叫其它資料庫的資料,來實現資料共享和更新,當創立連結伺服器之後,關於呼叫資料時候的方案,一般分為兩種:

1。當遠端表資料量較小几百條或更小可以採用直接呼叫方案,直接在引用時候,用sql查詢;例如:select * from NEWE..CAP.EP_ITE

2。部分表的資料量很大,如果使用相對較多時候,每一次都直接呼叫連結資料庫,不僅增大了傳輸資料量影響速度,而且在網路或是遠端資料庫出問題時候影響本地的使用,因此建議採用建立本地表,然後定期檢查更新來使用。

    以建立對 Oracle8i 的連結伺服器為例來說明,步驟如下:

1。首先SqlServer2000的伺服器上,需要安裝Oracle8i Client,通過Net8 Administration 裡面的 Net8 Configuration Assistant或者利用Net Easy Config 來建立對Oracle8的網路服務名,然後再SqlServer裡面建立連結伺服器,填好“資料來源”也就是前面建立好的網路服務名,在“安全性”裡面,使用“遠端登入的安全上下文”方式;

2。建立作業,建議採用呼叫專門的procedure來實現資料的檢查更新;對於Oracle資料庫主要是增加資料情況,採用提前比較遠端表和本地表總數方式比較,不同則插入新增資料;對於Oracle經常存在原來資料更新情況則只能定期更新本地表,建議儘量少採用delete和insert方式,多采用藉助臨時表的update方式。

3。在作業裡面,執行呼叫更新連結伺服器和本地表資料時候,總是會出現下面的錯誤,

執行使用者: xzc。不允許用 SETUSER 啟用的 Windows NT 使用者進行遠端訪問。 [SQLSTATE 42000](錯誤 7410).  步驟失敗。

    一般時候,我們採用將該更新作業的“所有者”改為本地系統管理員方式啟動就可以啦,另外注意資料更新時候的優化分析,應該儘量減少對於sqlServer資料庫的insert和delete操作,並且經常需要大量更新的資料表,建議不要建立自動增加的ID。

    以上屬於個人應用體會,歡迎探討指正!