導航:首頁 > 配伺服器 > 如何跨伺服器引用變數

如何跨伺服器引用變數

發布時間:2022-12-10 20:12:27

A. ASP.NET如何在網頁間傳遞變數

URL、Session、Cookies、Server.Transfer、Application和跨頁面傳送。

1.URL傳值
這是經典的傳值方式,這種方法的使用非常簡單,不過所傳遞的值是會顯示在瀏覽器的地址欄上的,而且不能傳遞對象。所以這種方法一般用於傳遞的值少且安全性要求不高的情況下。在*.aspx頁面開發中可以使用超級鏈接文本進行傳值,如以下代碼所示。
<asp:HyperLink runat="server" ID="HpLink"
NavigateUrl="~/GetValues.aspx?urlvalue1=intel&urlvalue2=amd">URL傳值</asp:HyperLink>
以上鏈接文本將頁面跳轉到GetValues.aspx頁面,並且通過URL傳遞urlvalue1變數和urlvalue2變數,其值分別為intel和amd。在*.cs的伺服器端方法中也可以調用HttpResponse對象的Redirect方法,將瀏覽器端重定向到新頁面並通過URL傳值,如以下代碼所示。
Response.Redirect(「~/GetValues.aspx?urlvalue1=intel&urlvalue2=amd」);
2.Session傳值
這種方法將每份數據存儲於伺服器變數中,可以傳遞比較多的數據,並且安全性較高,所以常用於用戶身份的驗證功能中。不過,Session變數如果存儲過多的數據會消耗過多的伺服器資源,編程者在使用時應該慎重,其使用方法如以下代碼所示。
Session["SessionValue"] = 「ATI」;
//也可以用索引存儲
Session[0] = 「ATI」;
//在其他頁面的伺服器端方法中取值方式為:
string str = Session["SessionValue"].ToString();
//也可以用索引獲取
string str = Session[0].ToString();
Session的可在應用程序的多個頁面中以名稱/值對的方式共享,直到瀏覽用戶關閉自己的瀏覽器或者伺服器Session超時(可設置,默認為20分鍾)。
3.Cookie傳值
Cookie是一種比較特殊的數據存儲方式,因為這種方式將數據存儲於瀏覽用戶的電腦中,以文本文件的形式存在於磁碟中。這種方式非常有意思,很多登錄系統就是利用Cookie實現用戶自動登錄。即用戶登錄一次的登錄信息將被寫入到用戶電腦的Cookie文件中,下次登錄時,網站自動讀取該Cookie完成身份驗證。通過Cookie傳遞數據雖然很方便,保存時間可以自由設置,但是安全性不高,編程者不應過於依賴Cookie,而應採用結合的方式完成敏感數據的存儲。
ASP.NET中操作Cookie的主要類型位於System.Web命名空間下,分別為HttpCookie、HttpResponse以及HttpRequest。HttpCookie可建立和操作獨立Cookie的安全類型,訪問HttpResponse和HttpRequest的Cookies屬性可以獲取HttpCookieCollection集合對象,以讀取或添加HttpCookie對象。添加Cookie的方法如以下代碼所示。
//創建一個HttpCookie 對象,向構造函數傳遞名稱值
HttpCookie ck = new HttpCookie("CookieValue");
//設置ck的「Value」屬性(值)
ck.Value = 「Cookie值」;
//設置ck的過期時間為當前時間加上360s,即6分鍾後失效
ck.Expires = DateTime.Now.AddSeconds(360);
//設置ck有效范圍(域限制)
ck.Domain = "www.google.cn";
//將ck添加至HttpCookieCollection對象
Response.Cookies.Add(ck);
//也可為以下方法添加
//Response.AppendCookie(ck);;
讀取用戶的Cookie則更為簡單,只需根據名稱讀取HttpCookieCollection集合對象中的子項即可,如以下代碼所示。
string str = Request.Cookies["CookieValue"].Value;
除此之外,還可以利用一個HttpCookie存儲多個名稱/值對形式的Cookie信息,如以下代碼所示。
HttpCookie ck = new HttpCookie("CookieValue");
//以名稱/值對的方式添加多個Cookie信息
ck.Values.Add("value1", 「one」);
ck.Values.Add("value2", "two");
//設置ck的過期時間為當前時間加上100年,即100年後失效
ck.Expires = DateTime.Now.AddYears(100);
//通過以下兩種方法添加
Response.Cookies.Add(ck);
//Response.AppendCookie(ck);
讀取這些Cookie如以下代碼所示。
string str = "值1:"+Request.Cookies["CookieValue"].Values["value1"];
str += "值2:" + Request.Cookies["CookieValue"].Values["value2"];
說明:多數瀏覽器支持最多可達4096位元組的Cookie,如果要將為數不多的幾個值保存到用戶計算機上,瀏覽器還限制了每個站點可以在用戶計算機上保存的Cookie數量。大多數瀏覽器只允許每個站點保存20個Cookie。如果試圖保存更多的Cookie,則最先保存的Cookie就會被刪除。還有些瀏覽器會對來自所有站點的Cookie總數作出限制,這個限制通常為300個。用戶可以設置自己的瀏覽器,拒絕接受Cookie,這種情況下只能結合其他的數據存儲方式。
4.Server.Transfer傳值
這個方法的步驟相對較多,使用該方法編程者可以在另一個頁面以公開對象屬性的方式來存取值,使用這種方法是面向對象的。該方法的代碼編寫並不復雜,首先通過定義一個public許可權的屬性,該屬性可返回所需傳遞的值。然後在第兩個頁面中,使用Context.Handler屬性來獲得前一個頁面實例對象的引用,即可通過訪問自定義的屬性獲取需要的值。
假設SendValues.aspx頁面為傳遞數據的頁面,在SendValues.aspx.cs的頁面類中定義一個public屬性,通過get直接返回需要傳遞的值(可為頁面中某個伺服器控制項的屬性值)。
public string TransferData
{
get
{
return "VIA";
}
}
在SendValues.aspx.cs的某個方法(如Button控制項的Click事件處理方法)中調用HttpServerUtility對象的Transfer方法,如以下代碼所示。
Server.Transfer("~/GetValues.aspx");
假設GetValues.aspx為第二個頁面,在GetValues.aspx.cs的Page_Load方法中接收前一個頁面所傳遞的值,方法如以下代碼所示。
//定義SendValues類型的變數SV_Page
SendValues SV_Page;
//訪問HttpContext對象的Handler屬性,將值轉換為SendValues類型,引用賦值給SV_Page
SV_Page = (SendValues)Context.Handler;
//SV_Page即為SendValues.aspx頁面類的對象,直接獲取其TransferData屬性值
string str = SV_Page.TransferData;
可見,這種方法對於有面向對象基礎的編程者而言非常容易理解。不過頁面間如果需要傳遞數量比較多的值,這種方法需要定義過多的屬性,略顯繁雜。編程者還可以直接使用HttpContext對象的「Iterms」屬性添加多項名稱/值對的數據,在SendValues.aspx.cs調用HttpServerUtility對象的Transfer方法的某個方法中,修改代碼如下所示。
Context.Items["value1"] = "one";
Context.Items["value2"] = "two";
在GetValues.aspx.cs的Page_Load方法中接收前1個頁面所傳遞的值,修改代碼如以下代碼所示。
string str = "值1:" + Context.Items["value1"].ToString();
str += "值2:" + Context.Items["value2"].ToString();
5.Application傳值
嚴格地說應該是通過HttpApplication對象在伺服器端生成一個狀態變數來存儲所需的信息,該HttpApplication對象變數的可用范圍覆蓋整個WEB應用程序。所以該對象一般存儲一些要公布的信息,如在線人數等,而對於那些涉及用戶個人的敏感數據則不用這種方法存儲。HttpApplication對象有兩個常用的方法,即Lock和UnLock方法,可用於處理多個用戶對存儲在Application變數中的數據進行寫入的問題。Lock方法鎖定全部的Application變數,從而阻止其他用戶修改Application對象的變數值,UnLock方法則解除對HttpApplication對象變數的鎖定。通過HttpApplication對象傳值的方法和Session比較相似,在頁面類的某個方法中編寫代碼如下所示。
Application["a"] = "微軟公司";
Application["b"] = "蘋果公司";
Application["c"] = 「Mac」;
以上代碼很輕松地將三個字元串值保存在HttpApplication對象的變數中了,並且這些變數是整個程序共享的,其他用戶通過相應的頁面同樣可以獲取。獲取這些變數的方法如以下代碼所示。
Application.Lock();
string str = "值1:" + Application["a"];
str += "值2:" + Application["b"];
str += "值3:" + Application["c"];
Application.UnLock();
注意:雖然使用方式和Session相似,但是Session是對於每個單獨的用戶,當該用戶關閉瀏覽器,則Session失效。HttpApplication對象存儲的變數是針對所有訪問程序的用戶,即使有用戶關閉了瀏覽器,變數的值不會丟失。
6.跨頁面傳送
跨頁面傳送和調用HttpServerUtility對象的Transfer方法有相似之處,不過效率更高。因為調用HttpServerUtility對象的Transfer方法是基於伺服器的方法,而跨頁面傳送是基於瀏覽器端的。這個方法主要是設置控制項的「PostBackUrl」屬性,使該控制項(如Button)操作後轉向指定頁面,並且這個指定頁面可以直接獲取前一個頁面的所有控制項對象及其屬性值。假設第一個頁面為SendValues.aspx,在該頁面中(非*.cs代碼文件)添加兩個控制項,設置如以下代碼所示。
<asp:TextBox runat="server" ID="PbValue" Text="Geforce TX280"></asp:TextBox>
<asp:Button runat="server" ID="btn6" Text="跨頁面傳送方式" PostBackUrl="~/GetValues.aspx" />
以上代碼中,TextBox控制項的「Text」屬性為「Geforce TX280」,這是所需要傳送的值。而Button控制項的「PostBackUrl」屬性指定了GetValues.aspx頁面,該頁面即可接收所需傳遞的值。在GetValues.aspx.cs的Page_Load方法中,編寫以下代碼。
//PreviousPage為向當前頁面傳輸控制項的頁面
if (PreviousPage != null)
{
//從PreviousPage容器中搜索「ID」為PbValue的控制項,並轉換為TextBox類型
TextBox tb = (TextBox)PreviousPage.FindControl("PbValue");
//如果tb不是空引用
if (tb != null)
{
//將tb的「Text」屬性值給str變數
string str = tb.Text;
}
}
以上代碼輕松獲得了前一個頁面中TextBox控制項的「Text」屬性值,這種方法比調用HttpServerUtility對象的Transfer方法更加快捷,並減少了處理步驟。
以上為常用的頁面間傳值方法,如果有特殊需要,還可以使用其他方法,例如通過資料庫存儲臨時數據等

B. 如何:添加對資料庫項目的引用

可以添加對資料庫項目的多種類型引用以應對不同的情況。例如,可以引用同一解決方案中的其他項目,也可以引用其他解決方案的輸出。按照略有不同的過程即可添加其他類型的引用。例如,若要使用跨資料庫引用,不僅必須添加該引用,還必須為資料庫和/或伺服器定義變數和相關的值。有關引用的類型以及可能使用每種類型的時間的更多信息,請參見在資料庫項目中使用引用。引用在同一解決方案中資料庫項目中定義的對象打開一個解決方案,該解決方案包含要向其中添加引用的資料庫項目。在「項目」菜單上,單擊「添加資料庫引用」。將出現「添加資料庫引用」對話框。若要添加對資料庫項目的引用,請執行以下步驟:單擊「當前解決方案中的資料庫項目」。在列表中,單擊要添加對其引用的資料庫項目。若要為伺服器定義 SETVAR 變數,請執行以下步驟:單擊「定義伺服器變數」。在「名稱」中,鍵入表示該伺服器的變數名稱。在「值」中,鍵入該變數所表示的伺服器名稱。注意如果所引用對象所屬的資料庫位於要添加對其引用的資料庫所在的相同伺服器上,則不需要定義伺服器變數。若要為要引用的資料庫指定 SETVAR 變數,請按下列步驟操作:選中「定義資料庫變數」復選框。如果選中「文本」復選框,則將其清除。在「名稱」中,鍵入表示該資料庫的變數的名稱。在「值」中,鍵入該變數所表示的資料庫名稱。重要事項如果資料庫項目包含顯式引用另一個資料庫中對象的對象,則應更新這些引用以使用剛剛定義的變數。如果從包含跨資料庫引用的資料庫導入了對象,則必須更新這些引用以解決這些顯式跨資料庫引用導致的警告。若要為要引用的資料庫指定文本值,請按下列步驟操作:選中「定義資料庫變數」復選框。選中「文本」復選框。在「值」中,鍵入要引用的資料庫的名稱。注意如果資料庫名稱始終與目標開發環境中的名稱相同,則可能要指定文本而非變數和值對。例如,可以對「master」資料庫中定義的對象使用值為「master」的文本。如果所引用的項目可能引用另一個項目,則可以選中「禁止顯示所引用項目中未解析引用導致的錯誤」復選框。所引用項目中的錯誤不大可能導致當前項目中的錯誤。因此,可能要決定忽略這些錯誤。如果不想更新對象和腳本,則清除「更新現有架構對象定義和腳本以使用資料庫引用變數」復選框,然後單擊「確定」。此時引用即添加到資料庫項目,而您不需要在此過程中執行任何其他步驟。如果要更新對象和腳本,則選中「更新現有架構對象定義和腳本以使用資料庫引用變數」復選框,然後單擊「確定」。此時將出現「預覽更改 - 重命名伺服器或資料庫」對話框。(可選)如果不想應用一個或多個更改,則清除這些更改旁的復選框。(可選)單擊任意更改,在「預覽更改」窗格中顯示其詳細信息。單擊「應用」,更新所指定的對象和腳本。此時引用即添加到資料庫項目,並修改您指定的這些對象和腳本以使用 SETVAR 變數(而非伺服器和資料庫的名稱)。引用另一個資料庫項目的編譯輸出(.dbschema 文件)中定義的對象打開一個解決方案,該解決方案包含要向其中添加引用的資料庫項目。在「項目」菜單上,單擊「添加資料庫引用」。將出現「添加資料庫引用」對話框。若要添加元文件的引用,請執行以下步驟:單擊「資料庫項目元文件(.dbmeta)或架構(.dbschema)」。在該框中,鍵入架構文件的路徑和文件名,或者單擊「瀏覽」指定要添加其引用的架構文件。若要為伺服器定義 SETVAR 變數,請執行以下步驟:單擊「定義伺服器變數」。在「名稱」中,鍵入表示該伺服器的變數名稱。在「值」中,鍵入該變數所表示的伺服器名稱。注意如果所引用對象所屬的資料庫位於要添加對其引用的資料庫所在的相同伺服器上,則不需要定義伺服器變數。若要為要引用的資料庫指定 SETVAR 變數,請按下列步驟操作:選中「定義資料庫變數」復選框。如果選中「文本」復選框,則將其清除。在「名稱」中,鍵入表示該資料庫的變數的名稱。在「值」中,鍵入該變數所表示的資料庫名稱。重要事項如果資料庫項目包含顯式引用另一個資料庫中對象的對象,則應更新這些引用以使用剛剛定義的變數。如果從包含跨資料庫引用的資料庫導入了對象,則必須更新這些引用以解決這些顯式跨資料庫引用導致的警告。若要為要引用的資料庫指定文本值,請按下列步驟操作:選中「定義資料庫變數」復選框。選中「文本」復選框。在「值」中,鍵入要引用的資料庫的名稱。注意如果資料庫名稱始終與目標開發環境中的名稱相同,則可能要指定文本而非變數和值對。例如,可以對「master」資料庫中定義的對象使用值為「master」的文本。如果所引用的項目可能引用另一個項目,則可以選中「禁止顯示所引用項目中未解析引用導致的錯誤」復選框。所引用項目中的錯誤不大可能導致當前項目中的錯誤。因此,可能要決定忽略這些錯誤。如果不想更新對象和腳本,則清除「更新現有架構對象定義和腳本以使用資料庫引用變數」復選框,然後單擊「確定」。此時引用即添加到資料庫項目,而您不需要在此過程中執行任何其他步驟。如果要更新對象和腳本,則選中「更新現有架構對象定義和腳本以使用資料庫引用變數」復選框,然後單擊「確定」。此時將出現「預覽更改 - 重命名伺服器或資料庫」對話框。(可選)如果不想應用一個或多個更改,則清除這些更改旁的復選框。(可選)可以單擊任何更改,在「預覽更改」窗格中顯示其詳細信息。單擊「應用」更新已指定的架構對象和腳本。此時引用即添加到資料庫項目,並修改您指定的這些對象和腳本以使用 SETVAR 變數(而非伺服器和資料庫的名稱)。包括當前解決方案中資料庫項目的內容作為引用項目的一部分打開一個解決方案,該解決方案包含要向其中添加引用的資料庫項目。在「項目」菜單上單擊「添加資料庫引用」。將出現「添加資料庫引用」對話框。單擊「當前解決方案中的資料庫項目」,單擊要添加對其引用的資料庫項目,然後單擊「確定」。該引用將添加到資料庫項目中。部署添加對其引用的項目時,將引用中指定的項目視為要部署的項目的一部分。添加對當前解決方案中 SQLCLR 項目的引用打開一個解決方案,該解決方案包含要向其中添加引用的資料庫項目。在「項目」菜單上,單擊「添加引用」。此時將出現「添加引用」對話框。如果「項目」選項卡尚未處於活動狀態,則單擊該選項卡。單擊要引用的 SQL 公共語言運行時 (CLR) 項目的名稱,然後單擊「確定」。該引用將添加到資料庫項目中。在「解決方案資源管理器」中,右擊該引用,然後單擊「屬性」。將出現「屬性」窗口。更新引用的屬性以指定生成資料庫項目時生成的 CREATE ASSEMBLY 語句的詳細信息。在「文件」菜單上,單擊「全部保存」。添加對 SQLCLR 程序集的引用打開一個解決方案,該解決方案包含要向其中添加引用的資料庫項目。在「項目」菜單上,單擊「添加引用」。此時將出現「添加引用」對話框。如果「瀏覽」選項卡尚未處於活動狀態,則單擊該選項卡。指定要引用的程序集 (.dll),然後單擊「確定」。該引用將添加到資料庫項目中。在「解決方案資源管理器」中,右擊該引用,然後單擊「屬性」。將出現「屬性」窗口。更新引用的屬性以指定生成資料庫項目時生成的 CREATE ASSEMBLY 語句的詳細信息。在「文件」菜單上,單擊「全部保存」。

C. 如何在頁面之間傳遞變數

(1)Session
(2)Cookie
(3)Application
(4)URL地址中的參數
(5)通過隱藏欄位來傳遞數據
(6)Server.Transfer
(7)通過序列化對象
(8)........

下面就分別一一介紹:
(1)使用Session
session對象是用來記錄瀏覽器端的變數,是個別瀏覽器端專用的變數,對於每一個瀏覽器訪問時都會自動產生一個seseion對象,該對象提供一個存儲場所,用來存儲僅僅對該訪問者在會話的活動期間打開的網頁可用的變數和對象。這樣就用可以用來在Web間傳遞專對單個瀏覽器端使用的數據。其定義方法:session(「變數名」)=數值

如:Session["testTransmitVaraint"] = "testSession";

session對象所定義的變數只是瀏覽器端的專用變數,所以適用於局部會話間的網頁數據傳遞。

(2)使用Cookie
cookie是在瀏覽頁面時Web伺服器在瀏覽器端所寫入的一些小文件,cookie是存放在瀏覽器端本機磁碟上,而不是存放在服務端的。可以在發送數據時寫入cookie,接收時讀取cookie完成數據在Web頁面間的傳送。

發送頁面
HttpCookie cookie = new HttpCookie("testCookie");
cookie.Value = TextBox1.Text;
Response.SetCookie(cookie);

取Cookie頁
HttpCookie cookie = Request.Cookies["testCookie"];
Response.Write("<br>HttpCookie = " + cookie.Value);

(3)使用Application
application對象是用來記錄整個網站信息的,是記錄不同瀏覽器端共享的變數,無論有幾個瀏覽者同時存取網頁,都只會產生一個application對象實例。用戶可以通過定義application整站共享變數來實現網頁間的數據傳遞。其定義方法是:application(「變數名」)=數值

如:Application["testApplication"] = "testApplication";

application對象所定義的變數對於所有瀏覽端都是可見的,所以其使用場合是所有瀏覽端共享的全局數據傳遞。

(4)使用URL地址中的參數
URL方式是實現Web間數據傳遞最基本的方法,操作簡單,可很方便地實現不同Web頁面間的數據傳遞,但其安全性比較差。將要傳遞的數據附加在網頁地址(URL)後面進行傳遞。如:http://192.168.0.1/testweb.aspx?username=liming,其中?後面所跟著的字元串便是傳遞的數據,=前的是變數名,=後面是數值,可以使用request對象來獲取傳遞的數據。如:request(「username」)。這種方法在傳遞數據過程中其數據內容在URL欄中是顯示的,用戶能看到提交的內容。

以上四種方法的適用范圍:簡單變數如基本的數據類型的數據

(5)使用隱藏欄位來傳遞數據
通過在網頁上製作表單交互區域,用戶在瀏覽器端輸入數據,然後通過form提交到伺服器,在提交後的接受form數據的頁面里就可以接收到相應數據,即form的action頁面中可以使用request對象來接收所傳遞的數據。

如:

發送頁面:

}

接收頁面:request(「UserID」)

利用form頁面的文本框來接收用戶數據的輸入,通過submit按鈕提交後在targetweb頁面中使用request來接收數據。

適用范圍:基本的數據類型的數據,不宜傳遞對象變數等復雜的數據

(6)使用Server.Transfer
這個方法稍微復雜一點,但在頁面間值傳遞中卻是特別有用的,使用該方法你可以在另一個頁面以對象屬性的方式來存取顯露的值,當然了,使用這種方法,你需要額外寫一些代碼以創建一些屬性以便可以在另一個頁面訪問它,但是,這個方式帶來的好處也是顯而易見的。總體來說,使用這種方法是簡潔的同時又是面向對象的。
使用這種方法的整個過程如下:
1,在頁面里添加必要的控制項
2,創建返回值的Get屬性過程
3,創建可以返回表單的按鈕和鏈接按鈕
4,在按鈕單擊事件處理程序中調用Server.Transfer方法轉移到指定的頁面
5,在第二個頁面中,我們就可以使用Context.Handler屬性來獲得前一個頁面實例對象的引用,通過它,就可以使用存取前一個頁面的控制項的值了
此方法的適用范圍:簡單變數如基本的數據類型的數據,復雜變數如結構、類變數、DataSet、DataTable等
具體的事例,請見原代碼。

此方法的適用范圍:簡單變數如基本的數據類型的數據,復雜變數如結構、類變數、DataSet、DataTable等

(7)通過序列化對象
序列化是指將對象實例的狀態存儲到存儲媒體的過程。在此過程中,先將對象的公共欄位和私有欄位以及類的名稱(包括類所在的程序集)轉換為位元組流,然後再把位元組流寫入數據流。在隨後對對象進行反序列化時,將創建出與原對象完全相同的副本。
在面向對象的環境中實現序列化機制時,必須在易用性和靈活性之間進行一些權衡。只要您對此過程有足夠的控制能力,就可以使該過程在很大程度上自動進行。例如,簡單的二進制序列化不能滿足需要,或者,由於特定原因需要確定類中那些欄位需要序列化。
為什麼要使用序列化?最重要的兩個原因是:將對象的狀態保存在存儲媒體中以便可以在以後重新創建出完全相同的副本;按值將對象從一個應用程序域發送至另一個應用程序域。例如,序列化可用於在ASP.NET 中保存會話狀態,以及將對象復制到 Windows 窗體的剪貼板中。它還可用於按值將對象從一個應用程序域遠程傳遞至另一個應用程序域。
關於序列化對象更詳細的介紹,請參見微軟的「.NET 中的對象序列化」

(8)結束語
上述介紹的是網頁間數據傳遞的常用方法,各有千秋。其中URL方式和form方式實現方法簡單,可實現網頁間的簡單數據傳遞,一般為字元串類型,其特點是安全性差,而且必須是連續訪問兩頁面間數據傳遞。Cookie只能存放string類型的數據,如果想要存放更為復雜的數據類型,那麼必須先將其轉換為string類型。Application對象和Session對象操作相對復雜些,瀏覽量非常大的網頁使用時應適量,而且使用結束後盡量清除,否則大量使用有可能會導致伺服器的癱瘓。Session變數的安全性較高,可傳遞專用瀏覽端數據。具體應用決定了數據傳遞方式的選擇,合理數據傳遞方式選擇是Web頁面的設計中的關鍵考慮因素。

D. 如何實現跨伺服器的事務操作

--不同伺服器資料庫之間的數據操作
--************************************************************************************
1、--創建鏈接伺服器
exec sp_addlinkedserver 'ITSV', ' ', 'SQLOLEDB', '遠程伺服器名或ip地址 '
exec sp_addlinkedsrvlogin 'ITSV', 'false ',null, '用戶名', '密碼'

2、啟動兩台伺服器的MSDTC服務
MSDTC服務提供分布式事務服務,如果要在資料庫中使用分布式事務,必須在參與的雙方伺服器啟動MSDTC(Distributed Transaction Coordinator)服務。

3、打開雙方的135埠
MSDTC服務依賴於RPC(Remote Procere Call (RPC))服務,RPC使用135埠,保證RPC服務啟動,如果伺服器有防火牆,保證135埠不被防火牆擋住。
使用「telnet IP 135」命令測試對方埠是否對外開放。也可用埠掃描軟體(比如Advanced Port Scanner)掃描埠以判斷埠是否開放

4、--如要創建觸發器
create trigger t_test on test
for insert,update,delete
as
--加上下面兩句,否則會提示新事務不能登記到指定事務處理器
set xact_abort on
begin distributed tran
delete from openrowset('sqloledb','xz';'sa';'',test.dbo.test)
where id in(select id from deleted)
insert into openrowset('sqloledb','xz';'sa';'',test.dbo.test)
select * from inserted
commit tran

--查詢示例
select * from ITSV.資料庫名.dbo.表名

--導入示例
select * into 表 from ITSV.資料庫名.dbo.表名

--以後不再使用時刪除鏈接伺服器
exec sp_dropserver 'ITSV ', 'droplogins '

E. 求助:asp.net中怎麼在伺服器標記中使用變數

protected string csscr1="css1";
要改成
public string csscr1="css1";
如果vb的就是
public string csscr1="css1"
如果用了runat="server" 控制項的id就會變,但你可以通過伺服器端控制項的clientid屬性來取得控制項的id
還有div不是不是伺服器端的控制項吧,
建議你用panel控制項

F. 共享變數如何跨區域網進行通信

在LabVIEW平台下完成開發,利用labview的共享變數技術和opc技術,以伺服器、客戶端的形式完成計算機之間的網路通信、數據交換。
共享變數的意思就是每個線程都可以訪問到的變數,比如:成員變數。
java共享成員變數是指在同一個類中或者不同包下的類,使用同一個變數進行操作。示例:publicclassCar{privateStringcolor//定義汽車顏色。

G. asp 怎麼跨伺服器傳遞變數

按樓上說的,用隱藏域,並把他放在form裡面
<form name="form1" action="">
<input type='hidden' id='aa' >
</form>

javascript這么寫:

document.getElementById("aa").value=document.getElementById("textid").innerHTML;

伺服器端取aa的值:
Request.Form("aa")

閱讀全文

與如何跨伺服器引用變數相關的資料

熱點內容
配置路由器默認路由的命令是 瀏覽:591
加密計算器是什麼 瀏覽:120
伺服器怎麼執行sql 瀏覽:974
小孩子命令 瀏覽:708
貸款申請系統源碼 瀏覽:268
windowsxp文件夾打開後怎麼返回 瀏覽:664
怎麼把pdf變成圖片 瀏覽:797
17年程序員事件 瀏覽:496
iishttp壓縮 瀏覽:31
公司文件加密後拷走能打開嗎 瀏覽:186
headfirstjava中文 瀏覽:894
騰訊雲伺服器怎麼放在電腦桌面 瀏覽:8
批量生成圖片的app哪個好 瀏覽:496
小米10電池校準命令 瀏覽:96
移動商城系統app如何開發 瀏覽:692
用安卓手機如何發高清短視頻 瀏覽:339
怎樣運行java程序運行 瀏覽:553
海南根伺服器鏡像雲伺服器 瀏覽:536
weka聚類演算法 瀏覽:452
視頻伺服器修復是什麼意思 瀏覽:498