① 怎麼才能連接資料庫啊
問:資料庫連接不上;運行科脈商業管理系統後出現連接資料庫的提示界面,進入了科脈系統?
答:(1)先檢查網路是否正常,再檢查SQL SERVER是否正常,可使用TELNET IP 1433命令來幫助分析。
(2)確認是資料庫被掛起(是否斷電的原因造成的)。
(3)如有備份,則可使用DB_SETUP重新裝載備份的資料庫文件即可恢復數據成功,所以必須要求客戶每日備份數據。 科脈其他常見問題:1. 問:系統初始化加密狗失敗,錯誤代碼為「15」?
答:查看你的網路是否連通,插緊加密狗,有沒有安裝好加密狗驅動程序,如果沒有請重新安裝。
2. 問:初始化科脈系統時,系統提示連接不到科脈資料庫?
答:有沒有裝載科脈資料庫(DB_SETUP),或打開SQL SERVER的企業管理器,查看Databases下面有無KMJXC的資料庫,如果沒有請重新裝載科脈資料庫。
3. 問:為何在科脈商業管理系統中更改或刪除條形碼時只能用系統工程管理員去更改?
答:為了客戶能安全使用科脈商業管理系統,所以在科脈中只能用系統管理員去更改或刪除條形碼,而一般的操作員是沒有許可權更改或刪除條形碼的。
4. 問:前台列印小票時,上一張小票與下一張小票空格太寬?
答:在前台收銀機外設設置處把添加空行數目處,將頭和尾的值進行修改,重新啟動收銀系統即可。
5. 問:類別毛利總金額與收銀員匯總報表的總金額對不上、前台商品銷售明細流水報表多於後台銷售按商品匯總報表?
答:請做綜合數據日結,在一般的情況下這兩個報表是相等的,用戶把一些商品資料從基本檔案刪除了,而前台收銀機上還有這些商品資料。所以導致這兩個報表對不上。
6. 問:在分布式版中為何分店的會員卡積分在總店不能查詢?
答:分店的會員卡積分中能在各分店查詢各自的會員卡積分,分店的會員卡積分不能傳上總店,所以在總店不能查詢分店會員卡積分的積分。
7. 問:為何在科脈啟謀商業管理系統里設置電子稱列印的標簽格式不對?
答:在編輯標簽後,保存時應注意保存到第幾號標簽,同時應設置電子稱使用該標簽,如果不是一致的就會導致列印格式不正確。
8.問:在前台銷售的商品時,為何有些商品不能夠打折?
答:(1)查看此收銀員是否有打折的許可權;
(2)在系統設置的前台POS機銷售設置的界面上是否設置了啟用前台指定商品不允許優惠控制功能,而這些不能打折的商品正好屬於不允許優惠商品。
9. 問:在科脈啟謀商業管理系統中,怎樣設置驗收入庫單列印商品數量、進價和進價金額?
答:在kmjxc.ini的配置設置裡面增加如下程序:在[app_env]下面增加「sheetprint_pi=prc1」保存設置即可。
10.問:安裝科脈瑞通商業管理系統單機版,在初始化時系統提示連接不到資料庫?
答:缺少SQLANYWHERE5.0資料庫,請到相關網站下載或聯系我公司技術支持部。
11.問:為何有些商品的電腦庫存是一個負很大的數據?
答:請查看商品出入庫報表,確認這些商品是否做過驗收入庫單,如果沒有;請做商品驗收入庫單。
12.問:在前台設置中用DIY—POS—LED8[單行串口數字]客顯啟動錢箱,錢箱為何打不開?
答:因為用客顯啟動與列印機啟動錢箱的指令不同,把原來開錢箱的指令改成「2,77」,然後設置好錢箱埠與客顯埠一致即可。
13.問:資料庫連接不上;運行科脈商業管理系統後出現連接資料庫的提示界面,進入了科脈系統?
答:(1)先檢查網路是否正常,再檢查SQL SERVER是否正常,可使用TELNET IP 1433命令來幫助分析。
(2)確認是資料庫被掛起(是否斷電的原因造成的)。
(3)如有備份,則可使用DB_SETUP重新裝載備份的資料庫文件即可恢復數據成功,所以必須要求客戶每日備份數據。
14.問:盈虧數量是怎樣得出來的,商品電腦庫存為負應怎樣解決?
答:(1)盈虧數量是電腦庫存與實盤數量之差的結果。
(2)商品的電腦庫存為負,應找出它為負的原因,如這個商品從來就沒有做過驗收入庫但前台又在銷售,它的庫存肯定為負,這時可以通過重新做驗收入庫或用其它單做入庫處理。
15.問:在科脈商業管理系統V2.0中儲值卡是怎樣充值的?
答:打開發放儲值卡的菜單,輸入要充值的卡號;按下充值管理輸入卡號、充值金額,然後按下充值鍵即可。
16.問:入庫單審核後在已審核單中未查到?
答:日期錯誤導致該單據被記錄在別的日期下面,在當天的記錄中當然找不到,請先檢查這方面的原因。
17.問:能否把前台銷售流水數據報表裡面的小計金額去掉?
答:可以,打開前台銷售流水數據報表上的設置鍵,打開報表屬性設置——明細設置,把小計金額後面的「X」去掉就可以了。
18.問:在前台銷售商品的數據跟後台商品數據對不上,如在前台銷售50個同一商品,為何在後台查看商品銷售時只有25個?
答:請在後台系統設置裡面是否啟用了萬能數據處理功能,如果啟用了此功能後台的數據隨著數據處理的百分比的改變而改變。
19.問:在一台機器上設置好的商品價格標簽列印的模塊可否在其它的機器上調用?
答:可以,將設置好的模塊保存後,在KMJXC的安裝目錄下的REPORT的LABELPRINT.PSR文件復制到另外一台機器上的REPORT文件下面。
20.問:在科脈瑞通商業管理系統中,在結算時因儲值卡上的金額不夠可否用另外一張儲值卡繼續結帳?
答:可以。在結算時儲值卡上的金額不夠系統會提示儲值卡付款多少錢,待付金額多少錢,此時再按下儲值卡鍵輸入卡號繼續付款。
21.問:科脈啟謀商業管理系統中的盤點過程是怎樣的?
答:首先完成綜合數據日結,其次做盤點初始化生成一個盤點批次號、盤點鎖庫、列印空盤點表、然後盤點單錄入、復盤單錄入(可選項)、生成盤點差異、生成漏盤商品、最後盤點審核。注意:在盤點過程還沒有完成之前不能做任何影響庫存的業務。
22.問:科脈啟謀商業管理系統中注冊後,提示注冊成功但是不能進入科脈系統?
答:此為伺服器資料庫工作不正常,非輸入序列號引起的錯誤,請重啟伺服器。
23.問:調進貨價單與庫存調價有何區別?
答:前者是調進價,後者是對以前某一次進貨剩餘的商品庫存進行調價。
24.問:營業間在後台查詢庫存能否用商品條碼來查詢商品的庫存?
答:可以,既可用商品編碼又可以用條碼查詢商品的庫存。
25.問:在分布式版中為何在總店做了零售特價單在分店不能實現?
答:(1)分店的倉庫編碼設置是否與總店設置分店的倉庫編碼一致,分店前台商品的出貨倉是否選擇本分店的倉庫編碼。
(2)查看商品零售特價單設置的有效時間。
26.問:能否把商品的特價信息用EXCEL的格式導出?
答:因為商品的特價信息不屬於商品的基本檔案,所以不能用EXCEL的格式導出,它只能列印出來。
27.問:會員特價單能否調出單據修改其中某些商品的特價信息,如某一商品的特價時間還未結束又將這商品做特價單,可以嗎?商品銷售又是按那個價格銷售的?
答:(1)不能調出已審核過的單據進行修改,因為審核過的單據是不能修改的。
(2)在規定商品特價時間還未結束時可以再將這個商品做特價,銷售是按新價格進行銷售的。
28.問:前台折扣報表為何會出現折扣金額為負?有的商品為何上午可以打折而到了下午卻不能打折?
答:(1)商品特價的金額高於商品原價金額時,前台折扣報表就會出現折扣金額為負。
(2)是否做了商品零售特價而又同時做了固定時間特價,而下午沒有折扣是因為特價的時間還未到。
29.問:驗收入庫單與贈品入庫單是否都跟供應商結算?
答:贈品入庫單只增加商品庫存的數量不用跟供應商結算,跟供應商結算的只是驗收入庫單。
30.問:為何在商品基本檔案用手工錄入8位的商品條碼在前台不能掃描,系統提示沒有此商品?
答:商品基本檔案手工錄入的8位條碼是否與掃描槍掃出來的8位條碼是否一致。如果不一致,請在商品基本檔案修改的條碼使它與掃描槍掃描出來的條碼一致。
31.問:盤點可否做其它影響庫存的業務?
答:在盤點過程還沒有結束時,不能做任何影響庫存的業務包括日結。
32.問:為何普通收銀員沒有前台設置許可權的都可以按F6鍵選擇商品的出貨倉?
答:收銀員無論有無前台設置許可權的都可以按F6鍵選擇商品的出貨倉,是沒有限制的。
33.問:為何在客流量大時前台鍵盤、條碼槍停止響應?
答:這應從硬體方面考慮機箱散熱的問題,可以打開主板BIOS中的溫度保護、增加內存;也可以在科脈商業管理系統中清空部分歷史數據(註:在清空前先備份數據)
34.問:加密狗站點升級不成功?運行加密狗升級程序出錯,報「當前使用非法,程序將關閉」?
答:系統未找到加密狗或加密狗驅動未安裝,導致許可證管理程序找不到介面出錯,安裝加密狗驅動應可正常。
35.問:在前台完成了盤點數據的錄入,但查詢庫存為「0」?
答:雖然完成了盤點數據錄入,但未進行數據處理,須將前台盤點數據文件拷貝到後台,並在盤點錄入單中導入數據,前台盤點數據默認保存在安裝目錄下的POSDATE中且帶有日期的格式文件;按下盤點單上的編輯鍵導入「盤點數據」即可,然後保存審核才能生效。
36.問:在科脈啟謀商業管理體系統中盤點時有些為負庫存的商品未點數,可否更正這些商品的庫存數量。
答:可以,通過列印漏盤商品報表來確認未盤商品及其數量,然後通過再次盤點錄入或其它單來作入庫調整。
37.問:列印機沒有錢箱介面,用川田的VFD8CV客顯可否打開錢箱?
答:可以,將客顯接在相應埠並連接好錢箱,在軟體中設置錢箱埠與客顯相同,並將開錢箱的指令修改為「31,77」即可。(註:本指令只能打開12V的錢箱)
38.問:會員特價按折扣的如何設置?會員特價單中如何讓電腦自動按一定折扣生成特價?
答:(1)在會員卡類別是定義折扣卡,可定出如8折或9折的卡類別。
(2)可以實現此功能,在系統設置中定義「會員特價率」,則系統在製作會員特價單時將自動按進價、售價、會員特價率自動計算會員特價。
39.問:分布式分店初始化不了,在分店使用數據通信中的初始化時,軟體提示沒有設置傳輸許可權?
答:由於在分店先安裝了一套網路版並使用進入了軟體,然後又只是安裝了軟體分布式客戶端,然後再使用數據通信中的初始化,此時軟體肯定提示說沒有傳輸許可權,因為此時在此店的資料庫中本店倉庫代碼是00(即網路版默認倉庫),但00是總店的倉庫代碼,肯定不在總店的傳輸許可權設置中,所以撥號後傳輸初始化時出現此提示。解決方法:重新安裝分店的資料庫,則運行程序後會提示輸入分店名稱和代碼,則輸入後初始化即可。
40.問:在科脈啟謀商業管理系統分布式版中,在總店做分店的入庫單後在總店查商品庫存匯總報表(倉庫)和在分店查的商品匯總報表(倉庫)對不上?
答:請檢查總店與分店驗收單據的數量,如果對不上,請在分店重新下載數據或下載全部數據;也可以利用數據通信輔助處理功能把某些還未傳下分店的單據傳到分店。
41.問:在科脈啟謀商業管理系統中,在商品基本檔案中,如果當前已有一個商品的資料,且該商品有類別和供應商,點新增按鈕後程序不能提供商品的供應商和類別,以前的程序是可以的?
答:以前的程序的確可以。但考慮到商品的供應商會對業務產生影響,包括進貨和進銷存結余等會與結算產生關系,為了不對各種報表及結算數據造成很大的錯誤影響,程序不再默認採用原來的商品的供應商,而要求錄入員手工輸入。
42.問:在科脈啟謀商業管理系統中,為何前台班結後收銀員班結報表上的金額比實際收銀金額少很多?
答:因為經常退出收銀系統或重新啟動計算機造成的原因,這種情況下班結時系統只當前的收銀記錄做班結而沒有對以前曾退出收銀系統或重新啟動計算機後重新進入收銀系統做記錄,所以班結後的報表會比實際收銀員的報表上有金額少。
43.問:列印商品資料時內容太多,有些東西是不想列印的;浪費紙。
答:可以在瀏覽界面中通過拖動標題欄來屏蔽一些不要的列。
44.問:要列印某供應商的商品,但太多供應商了很麻煩?
答:可以在供應商商品瀏覽列印,這樣可以只列印一個供應商所供應的商品。
45.問:商品進價經常變化,但又不能定死;能不能監控價格變化?
答:在采購入庫報表中可以查看每個商品的入庫歷史、價格。
46.問:商品進貨時進價過度,銷售一段時間後供應商同意將未銷售的部分商品降低供貨價,在科脈商業管理系統V3.0中如何處理?
答:(1)常規方法是採用「空退空進」的方式來解決,即先用原來的進價將剩餘部分退貨出去,然後再用新的進價做入庫,可以達到目的,但此部分商品的帳期會順延。
(2)採用「庫存調價單」也可以達到目的,即將上次或歷次進貨的部分或全部商品的進價作出調整。
47.問:在科脈啟謀商業管理系統中能否提供一套比較正確的影響成本的單據方法?
答:一般來說,只要是非銷售的、出入庫且不以成本價出入庫的單據就要影響成本。這些業務建議影響成本:贈送入庫單、庫存調價單、庫存更正單、其它單、盤點審批單、驗收入庫單、銷售退貨單、采購退貨單。另外,還有些單據如果企業內部規則不以成本價計的也要讓其影響成本,如:報損單、領用單、各種調撥單等
② 如何在配置文件里添加資料庫鏈接
直接在spring的配置文件中applicationContext.xml文件中配置資料庫連咐滲接也可以,但是有個問題,需要在url後帶著使用編碼集和指定編碼集,出現了如下問題,&這個符號報錯。
既然這差侍樣只能使用外部配置文件設置一些參數,在spring的配置文件applicationContext.xml中獲取,然後配置連接資料庫。
使用properties配置文件連接資料庫,在src下新建jdbc.properties文件,按照自己的資料庫名,用戶名密碼更改下面的配置。
在spring的配置文件applicatiContext.xml中加入(這里是引入配置文件),更改之前的資料庫配置,名稱和配置文件中的對應上即可衡慶脊。
③ 如何連接sqlserver資料庫
以sqlserver2008R2為例。
1、打開sql2008,使用windows身份登錄
④ P6軟體如何如何配置手動配置下資料庫連接
1、運行資料庫配置,下一步
2、選擇P6 PRO STANDALONE(SQLITE),下一步
3、選擇增加一個新的STANDALONE資料庫並連接,下一步
4、輸入登錄名和密碼,這個是自己定的,記住了,登錄時用,下一步
5、選擇資料庫保存的文件夾,可以給資料庫改個名字,建議不要選擇LOAD SAMPLE DATA,下一步就完成了。
⑤ 如何修改資料庫的連接地址 修改資料庫連接地址的方法
1、余謹打開WinSQL。
2、點擊【file】,選擇【new connection】。
3、在彈出對話框中,點擊【ODBC Mgr】。
4、選中要修改的數據源,然後點擊【配置】。
5、此時顯示數據源配置界扒毀滾面。
6、修改數據源的名稱、地址、用戶名或密碼等,然後點擊【OK】
7、點擊【確定】。春余
8、此時資料庫連接就修改完成了。
⑥ 資料庫連接失敗,如何重新進行正確配置
方法如下:
檢查服務是否啟動
1、在SQLServer伺服器中, 打開SQLServer服務管理器。單擊【開始】-【程序】-【Microsoft SQLServer】-【服務管理器】菜單命令。
2、打開【SQLServer服務管理器】,單擊【伺服器】,選擇要檢查的SQLServer的實例名【abc10-1DA235E90】,單擊【服務】,選擇【SQLServer】棗高選項,如果此時暫停或者停止按鈕可用,說明服務已經啟動;否則則沒有啟動,啟動即可。
3、最好在【SQLServer服務管理器】中將選擇隨系統啟動而啟動服務。選擇【當啟動OS時自動啟動服務】選擇框,完成讓MSSQLSERVER服務隨操作系統啟動而自動啟動。
4、再次打開衡岩搏SQL Server 資料庫,選擇連接資料庫伺服器實例,可以正常連接咐祥打開資料庫了。
5、SQL Server資料庫能正常連接得保證網路通暢,操作過程中還需要進行網路測試,可以通過PING命令實現。如下圖所示,表示網路通暢。
⑦ 如何連接資料庫
如果您是ACCESS資料庫。這是最簡單的一種資料庫,它通常都是隨著資料庫源碼可以放在一起的,只需要知道FTP地址、賬戶與密碼就可以連接。利用FTP上傳工具上傳即可。上傳工具小編在下方資料參考處提供軟體下載鏈接。
⑧ 如何將本地資料庫與遠程資料庫連接
MySQL數據同步主要有三種方式:
1.利用MySQL自身的資料庫同步功能
2.利用MySQL資料庫的特性(資料庫存在固頂目錄,並且以文件形式存儲),進行資料庫目錄同步以達到數據同步目的
3.利用專用的MySQL資料庫同步軟體
1.利用MySQL自身的資料庫同步功能:
MySQL從3.23.15版本以後提供資料庫復制功能。利用該功能可以實現兩個資料庫同步,主從模式,互相備份模式的功能.
資料庫同步復制功能的設置都在mysql的設置文件中體現。mysql的配置文件(一般是my.cnf),在unix環境下在/etc/mysql/my.cnf或者在mysql用戶的home目錄下的my.cnf。
windows環境中,如果c:根目錄下有my.cnf文件則取該配置文件。當運行mysql的winmysqladmin.exe工具時候,該工具會把c:根目錄下的my.cnf命名為mycnf.bak。並在winnt目錄下創建my.ini。mysql伺服器啟動時候會讀該配置文件。所以可以把my.cnf中的內容拷貝到my.ini文件中,用my.ini文件作為mysql伺服器的配置文件。
設置方法:
設置範例環境:
操作系統:window2000professional
mysql:4.0.4-beta-max-nt-log
Aip:10.10.10.22
Bip:10.10.10.53
A:設置
1.增加一個用戶最為同步的用戶帳號:
GRANTFILEON*.*TObackup@'10.10.10.53'IDENTIFIEDBY『1234』
2.增加一個資料庫作為同步資料庫:
createdatabasebackup
B:設置
1.增加一個用戶最為同步的用戶帳號:
GRANTFILEON*.*TObackup@'10.10.10.22'IDENTIFIEDBY『1234』
2.增加一個資料庫作為同步資料庫:
createdatabasebackup
主從模式:A->B
A為master
修改Amysql的my.ini文件。在mysqld配置項中加入下面配置:
server-id=1
log-bin
#設置需要記錄log可以設置log-bin=c:mysqlbakmysqllog設置日誌文件的目錄,
#其中mysqllog是日誌文件的名稱,mysql將建立不同擴展名,文件名為mysqllog的幾個日誌文件。
binlog-do-db=backup#指定需要日誌的資料庫
重起資料庫服務。
用showmasterstatus命令看日誌情況。
B為slave
修改Bmysql的my.ini文件。在mysqld配置項中加入下面配置:
server-id=2
master-host=10.10.10.22
master-user=backup#同步用戶帳號
master-password=1234
master-port=3306
master-connect-retry=60預設重試間隔60秒
replicate-do-db=backup告訴slave只做backup資料庫的更新
重起資料庫
用showslavestatus看同步配置情況。
注意:由於設置了slave的配置信息,mysql在資料庫目錄下生成master.info
所以如有要修改相關slave的配置要先刪除該文件。否則修改的配置不能生效。
雙機互備模式。
如果在A加入slave設置,在B加入master設置,則可以做B->A的同步。
在A的配置文件中mysqld配置項加入以下設置:
master-host=10.10.10.53
master-user=backup
master-password=1234
replicate-do-db=backup
master-connect-retry=10
在B的配置文件中mysqld配置項加入以下設置:
log-bin=c:mysqllogmysqllog
binlog-do-db=backup
注意:當有錯誤產生時*.err日誌文件。同步的線程退出,當糾正錯誤後要讓同步機制進行工作,運行slavestart
重起AB機器,則可以實現雙向的熱備。
測試:
向B批量插入大數據量表AA(1872000)條
A資料庫每秒鍾可以更新2500條數據。
2.資料庫目錄同步:
方法和文件同步一樣,設置好需要同步的兩個資料庫目錄就可以了!
缺點很明顯,數據同步只能單向進行,可以作為備份方案
3.用專用的MySQL同步軟體進行同步 :
這方面的軟體有SQLBalance和MyReplicator,優點是方便直觀,還有很多爭強功能!
缺點和2一樣,只能單項同步!
當然也可以修改鏡像網站的程序為提交數據到母資料庫,讀取則在當前鏡像下的數據,不過,修改起來麻煩!普通用戶修改也非常難!呵呵,大家了解一下就可以!給大家一個思路!有能力的朋友可以試試阿!
4.關於MySQL論壇的數據同步
由於數據來源的不可控制(不好表達),論壇數據是實時的,而且還要考慮來自鏡像論壇的數據,如何實現鏡像論壇與母論壇數據同步呢?
用1中介紹的MySQL自帶的資料庫同步功能互相備份模式就可以實現的!
不過,具體的應用我沒有測試!穩定性不敢保證!
有能力的朋友推薦用下面這種思路來同步,相對來說減少點效率,但能減少發生的錯誤!
比如鏡像論壇數據同步:
1.母論壇和鏡像論壇的數據全寫在母論壇資料庫里,主從模式,讀取只在本地讀取,這個需要修改程序!
2.每次寫數據,都同時提交到兩個資料庫中,安全,但是效率很差,也得修改程序!
MSSQL
MSSQL數據同步利用資料庫復制技術實現數據同步更新(來自網路,也是非常完美的教程)
復制的概念 :
復制是將一組數據從一個數據源拷貝到多個數據源的技術,是將一份數據發布到多個存儲站點上的有效方式。使用復制技術,用戶可以將一份數據發布到多台伺服器上,從而使不同的伺服器用戶都可以在許可權的許可的范圍內共享這份數據。復制技術可以確保分布在不同地點的數據自動同步更新,從而保證數據的一致性。
SQL復制的基本元素包括
出版伺服器、訂閱伺服器、分發伺服器、出版物、文章
SQL復制的工作原理
SQLSERVER主要採用出版物、訂閱的方式來處理復制。源數據所在的伺服器是出版伺服器,負責發表數據。出版伺服器把要發表的數據的所有改變情況的拷貝復制到分發伺服器,分發伺服器包含有一個分發資料庫,可接收數據的所有改變,並保存這些改變,再把這些改變分發給訂閱伺服器
SQLSERVER復制技術類型
SQLSERVER提供了三種復制技術,分別是:
1、快照復制(呆會我們就使用這個)
2、事務復制
3、合並復制
只要把上面這些概念弄清楚了那麼對復制也就有了一定的理解。接下來我們就一步一步來實現復制的步驟。
第一先來配置出版伺服器
(1)選中指定[伺服器]節點
(2)從[工具]下拉菜單的[復制]子菜單中選擇[發布、訂閱伺服器和分發]命令
(3)系統彈出一個對話框點[下一步]然後看著提示一直操作到完成。
(4)當完成了出版伺服器的設置以後系統會為該伺服器的樹形結構中添加一個復制監視器。同時也生成一個分發資料庫(distribution)
第二創建出版物
(1)選中指定的伺服器
(2)從[工具]菜單的[復制]子菜單中選擇[創建和管理發布]命令。此時系統會彈出一個對話框
(3)選擇要創建出版物的資料庫,然後單擊[創建發布]
(4)在[創建發布向導]的提示對話框中單擊[下一步]系統就會彈出一個對話框。對話框上的內容是復制的三個類型。我們現在選第一個也就是默認的快照發布(其他兩個大家可以去看看幫助)
(5)單擊[下一步]系統要求指定可以訂閱該發布的資料庫伺服器類型,SQLSERVER允許在不同的資料庫如ORACLE或ACCESS之間進行數據復制。但是在這里我們選擇運行"SQLSERVER2000"的資料庫伺服器
(6)單擊[下一步]系統就彈出一個定義文章的對話框也就是選擇要出版的表
(7)然後[下一步]直到操作完成。當完成出版物的創建後創建出版物的資料庫也就變成了一個共享資料庫。
第三設計訂閱
(1)選中指定的訂閱伺服器
(2)從[工具]下拉菜單中選擇[復制]子菜單的[請求訂閱]
(3)按照單擊[下一步]操作直到系統會提示檢查SQLSERVER代理服務的運行狀態,執行復制操作的前提條件是SQLSERVER代理服務必須已經啟動。
(4)單擊[完成]。完成訂閱操作。
完成上面的步驟其實復制也就是成功了。但是如何來知道復制是否成功了呢?這里可以通過這種方法來快速看是否成功。展開出版伺服器下面的復制——發布內容——右鍵發布內容——屬性——擊活——狀態然後點立即運行代理程序接著點代理程序屬性擊活調度把調度設置為每一天發生,每一分鍾,在0:00:00和23:59:59之間。接下來就是判斷復制是否成功了打開C:/ProgramFiles/MicrosoftSQLServer/MSSQL/REPLDATA/unc/XIAOWANGZI_database_database下面看是不是有一些以時間做為文件名的文件夾差不多一分中就產生一個。要是你還不信的話就打開你的資料庫看在訂閱的伺服器的指定訂閱資料庫下看是不是看到了你剛才所發布的表—
一個手工同步的方案
--定時同步伺服器上的數據
--例子:
--測試環境,SQLServer2000,遠程伺服器名:xz,用戶名為:sa,無密碼,測試資料庫:test
--伺服器上的表(查詢分析器連接到伺服器上創建)
createtable[user](idintprimarykey,numbervarchar(4),namevarchar(10))
--以下在區域網(本機操作)
--本機的表,state說明:null表示新增記錄,1表示修改過的記錄,0表示無變化的記錄
ifexists(select*fromdbo.sysobjectswhereid=object_id(N'[user]')andOBJECTPROPERTY(id,N'IsUserTable')=1)
droptable[user]
GO
createtable[user]
(idintidentity(1,1),numbervarchar(4),namevarchar(10),statebit)
go
--創建觸發器,維護state欄位的值
createtriggert_stateon[user]
afterupdate
as
update[user]setstate=1
from[user]ajoininsertedbona.id=b.id
wherea.stateisnotnull
go
--為了方便同步處理,創建鏈接伺服器到要同步的伺服器
--這里的遠程伺服器名為:xz,用戶名為:sa,無密碼
ifexists(select1frommaster..sysserverswheresrvname='srv_lnk')
execsp_dropserver'srv_lnk','droplogins'
go
execsp_addlinkedserver'srv_lnk','','SQLOLEDB','xz'
execsp_addlinkedsrvlogin'srv_lnk','false',null,'sa'
go
--創建同步處理的存儲過程
ifexists(select*fromdbo.sysobjectswhereid=object_id(N'[dbo].
[p_synchro]')andOBJECTPROPERTY(id,N'IsProcere')=1)
dropprocere[dbo].[p_synchro]
GO
createprocp_synchro
as
--setXACT_ABORTon
--啟動遠程伺服器的MSDTC服務
execmaster..xp_cmdshell'isql/S"xz"/U"sa"/P""/q"execmaster..xp_cmdshell''netstartmsdtc'',no_output"',no_output
--啟動本機的MSDTC服務
--execmaster..xp_cmdshell'netstartmsdtc',no_output
--進行分布事務處理,如果表用標識列做主鍵,用下面的方法
--BEGINDISTRIBUTEDTRANSACTION
--同步刪除的數據
deletefromsrv_lnk.test.dbo.[user]
whereidnotin(selectidfrom[user])
--同步新增的數據
insertintosrv_lnk.test.dbo.[user]
selectid,number,namefrom[user]wherestateisnull
--同步修改的數據
updatesrv_lnk.test.dbo.[user]set
number=b.number,name=b.name
fromsrv_lnk.test.dbo.[user]a
join[user]bona.id=b.id
whereb.state=1
--同步後更新本機的標志
update[user]setstate=0whereisnull(state,1)=1
--COMMITTRAN
go
--創建作業,定時執行數據同步的存儲過程
ifexists(SELECT1frommsdb..sysjobswherename='數據處理')
EXECUTEmsdb.dbo.sp_delete_job@job_name='數據處理'
execmsdb..sp_add_job@job_name='數據處理'
--創建作業步驟
declare@sqlvarchar(800),@dbnamevarchar(250)
select@sql='execp_synchro'--數據處理的命令
@dbname=db_name()--執行數據處理的資料庫名
execmsdb..sp_add_jobstep@job_name='數據處理',
@step_name='數據同步',
@subsystem='TSQL',
@database_name=@dbname,
@command=@sql,
@retry_attempts=5,--重試次數
@retry_interval=5--重試間隔
--創建調度
EXECmsdb..sp_add_jobschele@job_name='數據處理',
@name='時間安排',
@freq_type=4,--每天
@freq_interval=1,--每天執行一次
@active_start_time=00000--0點執行