SQLSERVER主要采用出版物、訂閱的方式來處理復(fù)制。源數(shù)據(jù)所在的服務(wù)器是出版服務(wù)器,負責(zé)發(fā)表數(shù)據(jù)。出版服務(wù)器把要發(fā)表的數(shù)據(jù)的所有改變情況的拷貝復(fù)制到分發(fā)服務(wù)器,分發(fā)服務(wù)器包含有一個分發(fā)數(shù)據(jù)庫,可接收數(shù)據(jù)的所有改變,并保存這些改變,再把這些改變分發(fā)給訂閱服務(wù)器 SQLSERVER復(fù)制技術(shù)類型 SQLSERVER提供了三種復(fù)制技術(shù),分別是: 1、快照復(fù)制(呆會我們就使用這個) 2、事務(wù)復(fù)制 3、合并復(fù)制 只要把上面這些概念弄清楚了那么對復(fù)制也就有了一定的理解。接下來我們就一步一步來實現(xiàn)復(fù)制的步驟。 第一先來配置出版服務(wù)器 (1)選中指定[服務(wù)器]節(jié)點 (2)從[工具]下拉菜單的[復(fù)制]子菜單中選擇[發(fā)布、訂閱服務(wù)器和分發(fā)]命令 (3)系統(tǒng)彈出一個對話框點[下一步]然后看著提示一直操作到完成。 (4)當(dāng)完成了出版服務(wù)器的設(shè)置以后系統(tǒng)會為該服務(wù)器的樹形結(jié)構(gòu)中添加一個復(fù)制監(jiān)視器。同時也生成一個分發(fā)數(shù)據(jù)庫(distribution) 第二創(chuàng)建出版物 (1)選中指定的服務(wù)器 (2)從[工具]菜單的[復(fù)制]子菜單中選擇[創(chuàng)建和管理發(fā)布]命令。此時系統(tǒng)會彈出一個對話框 (3)選擇要創(chuàng)建出版物的數(shù)據(jù)庫,然后單擊[創(chuàng)建發(fā)布] (4)在[創(chuàng)建發(fā)布向?qū)的提示對話框中單擊[下一步]系統(tǒng)就會彈出一個對話框。對話框上的內(nèi)容是復(fù)制的三個類型。我們現(xiàn)在選第一個也就是默認的快照發(fā)布(其他兩個大家可以去看看幫助) (5)單擊[下一步]系統(tǒng)要求指定可以訂閱該發(fā)布的數(shù)據(jù)庫服務(wù)器類型,SQLSERVER允許在不同的數(shù)據(jù)庫如ORACLE或ACCESS之間進行數(shù)據(jù)復(fù)制。但是在這里我們選擇運行"SQLSERVER2000"的數(shù)據(jù)庫服務(wù)器 (6)單擊[下一步]系統(tǒng)就彈出一個定義文章的對話框也就是選擇要出版的表 (7)然后[下一步]直到操作完成。當(dāng)完成出版物的創(chuàng)建后創(chuàng)建出版物的數(shù)據(jù)庫也就變成了一個共享數(shù)據(jù)庫。 第三設(shè)計訂閱 (1)選中指定的訂閱服務(wù)器 (2)從[工具]下拉菜單中選擇[復(fù)制]子菜單的[請求訂閱] (3)按照單擊[下一步]操作直到系統(tǒng)會提示檢查SQLSERVER代理服務(wù)的運行狀態(tài),執(zhí)行復(fù)制操作的前提條件是SQLSERVER代理服務(wù)必須已經(jīng)啟動。 (4)單擊[完成]。完成訂閱操作。 完成上面的步驟其實復(fù)制也就是成功了。但是如何來知道復(fù)制是否成功了呢?這里可以通過這種方法來快速看是否成功。展開出版服務(wù)器下面的復(fù)制——發(fā)布內(nèi)容——右鍵發(fā)布內(nèi)容——屬性——擊活——狀態(tài)然后點立即運行代理程序接著點代理程序?qū)傩該艋钫{(diào)度把調(diào)度設(shè)置為每一天發(fā)生,每一分鐘,在0:00:00和23:59:59之間。接下來就是判斷復(fù)制是否成功了打開
在新林等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站建設(shè)、成都網(wǎng)站制作 網(wǎng)站設(shè)計制作定制網(wǎng)站制作,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站設(shè)計,全網(wǎng)營銷推廣,成都外貿(mào)網(wǎng)站建設(shè),新林網(wǎng)站建設(shè)費用合理。
C:/ProgramFiles/MicrosoftSQLServer/MSSQL/REPLDATA/unc/XIAOWANGZI_database_database下面看是不是有一些以時間做為文件名的文件夾差不多一分中就產(chǎn)生一個。要是你還不信的話就打開你的數(shù)據(jù)庫看在訂閱的服務(wù)器的指定訂閱數(shù)據(jù)庫下看是不是看到了你剛才所發(fā)布的表
print_r($_FILES);
print_r($_POST);
echo file_get_contents('php://input');
$arr = $GLOBALS["HTTP_RAW_POST_DATA"];
print_r($arr);
是不會看到什么結(jié)果的
因為你似乎并沒用顯示返回數(shù)據(jù)的代碼,也不知道返回的數(shù)據(jù)格式是否符合要求(不合要求也可能不顯示)
但你這樣
file_put_contents('test.txt', print_r($_FILES, 1));
file_put_contents('test.txt', print_r($_POST, 1), FILE_APPEND);
file_put_contents('test.txt', file_get_contents('php://input'), FILE_APPEND);
$arr = $GLOBALS["HTTP_RAW_POST_DATA"];
file_put_contents('test.txt', print_r($arr, 1), FILE_APPEND);
在 test.txt 中是一定有結(jié)果的
Windows 環(huán)境下的修改方法
第一步:修改在php下POST文件大小的限制
1.用編輯器打開php.ini
找到:max_execution_time =30 ,這個是每個腳本運行的最長時間,單位秒,修改為:
max_execution_time = 150
找到:max_input_time = 60,這是每個腳本可以消耗的時間,單位也是秒,修改為:
max_input_time = 300
找到:memory_limit = 128M,這個是腳本運行最大消耗的內(nèi)存,根據(jù)你的需求更改數(shù)值,這里修改為:
memory_limit = 256M
找到:post_max_size = 8M,表單提交最大數(shù)據(jù)為8M,此項不是限制上傳單個文件的大小,而是針對整個表單的提交數(shù)據(jù)進行限制的。限制范圍包括表單提交的所有內(nèi)容.例如:發(fā)表貼子時,貼子標題,內(nèi)容,附件等…這里修改為:
post_max_size = 20M
找到:upload_max_filesize = 2M ,上載文件的最大許可大小 ,修改為:
upload_max_filesize = 10M
第二步: Apache環(huán)境中的檔案上傳大小控制
修改位于Apahce目錄下的httpd.conf
添加下面內(nèi)容
LimitRequestBody10485760
即10M=10*1024*1024,有的文章中提到應(yīng)改為 600000000
重新啟動apache,就可以在設(shè)置里看到你要的大小
Linux 環(huán)境下的修改方法
vim /etc/php.ini
找到 File Uploadsh區(qū)域修改以下幾個參數(shù): file_uploads = on;是否允許通過HTTP上傳文件的開關(guān)。默認為ON即是開 upload_tmp_dir;文件上傳至服務(wù)器上存儲臨時文件的地方,如果沒指定就會用系統(tǒng)默認的臨時文件夾(moodle可以不改)
upload_max_filesize = 8m ;允許上傳文件大小的最大值.
找到 Data Handling區(qū)域,修改 post_max_size = 8m;指通過表單POST給PHP的所能接收的最大值,包括表單里的所有值。默認為8M
設(shè)上述四個參數(shù)后,上傳小于8M的文件一般不成問題。但如果上傳大于8M的文件,只還得設(shè)置以下參數(shù):
在Resource Limits 區(qū)域: max_execution_time = 600;每個PHP頁面運行的最大時間值(秒),默認30秒 max_input_time = 600;每個PHP頁面接收數(shù)據(jù)所需的最大時間,默認60秒 memory_limit = 8m;每個PHP頁面所吃掉的最大內(nèi)存,默認8M
1、直接file_get_contents("php://input") 這個函數(shù)就可以接到接口傳參!
2、建議使用json格式數(shù)據(jù)進行交互。
頭部加上超時控制,但對于很多服務(wù)器無效,因為服務(wù)器輸出超時很多在服務(wù)器控制,所以建議用cmd腳本方式運行此程序:
?php
set_time_limit(0); //禁用腳本超時
//?Create?the?socket?and?connect
$socket?=?socket_create(AF_INET,?SOCK_STREAM,?SOL_TCP);
$connection?=?socket_connect($socket,'116。236。128。220',?14580);
//?Write?some?test?data?to?our?socket
if(!socket_write($socket,?"user?NoCall?pass?-1?vers?test?1.0?filter?b/B*?\r\n"))
{
echo("pWrite?failed/p");
}
if(!file_exists('socket_log.html')){
file_put_contents('socket_log.html',?'script
var?xx?=?setInterval(function(){ //每5秒刷新一次頁面
window.location.reload();
},?5000);
/script');
}
//?Read?any?response?from?the?socket
while($buffer?=?socket_read($socket,?64,?PHP_NORMAL_READ))
{
echo?json_encode($buffer);?//轉(zhuǎn)換為json數(shù)據(jù)輸出
//記入文件
file_put_contents('socket_log.html',?json_encode($buffer),?FILE_APPEND);
}
echo("pDone?Reading?from?Socket/p");
使用方法:用命令行方式運行此腳本
php?script.php
腳本會一直運行到接收數(shù)據(jù)結(jié)束,并持續(xù)將收到的數(shù)據(jù)寫入socket_log.html文件。
在瀏覽器打開socket_log.html頁面,此頁面會自動每5秒刷新一次,來顯示最新的數(shù)據(jù)。
確保程序有權(quán)限創(chuàng)建及寫入socket_log.html文件
ajax 調(diào)用并且要用xpath語法來抽取里頭數(shù)據(jù)并通過一定處理輸出到client。
至于怎么做你可以接著度娘