亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

SQL Server靜態(tài)頁面導出技術1

瀏覽:157日期:2023-11-04 09:00:22
本段文章節(jié)選自鐵道出版社新出的《用BackOffice建立Intranet/Extranet應用》一書(現(xiàn)已在海淀圖書城有售)。本書詳盡地講述了如何使用微軟BackOffice系列產品來組建Intranet/Extranet應用。通過它您將掌握NT的安裝和設置、使用IIS建立Web站點、通過ILS建立網(wǎng)絡會議系統(tǒng)、用Exchange建立企業(yè)的郵件和協(xié)作系統(tǒng)、用SQL Server建立Web數(shù)據(jù)庫應用、用Proxy Server建立同Internet安全可靠的連接、用Media Server建立網(wǎng)絡電視臺/廣播站、用Chart server建立功能強大的聊天室、用Site Server建立個性化的郵件列表和分析網(wǎng)站的訪問情況、用Commerce Server建立B2B或B2C的電子商務網(wǎng)站。此外本書還對網(wǎng)絡的安全性進行了討論,從而指導您建立一個更為健壯和安全的網(wǎng)絡應用。閱讀本書之后,您將發(fā)現(xiàn)實現(xiàn)豐富多彩的網(wǎng)絡應用原來這樣簡單……絕對原創(chuàng),歡迎轉載。但請務必保留以上文字。;;;;我們在前面對靜態(tài)頁面導出技術進行了初步的介紹,現(xiàn)在我們通過一些實例來完成對它的詳細講解。;;;;靜態(tài)頁面導出可以通過調用存貯過程和使用Enterprise Manager中的向導兩種方式來完成。通過向導的方式可以很容易地將數(shù)據(jù)庫的數(shù)據(jù)導出為靜態(tài)頁面或建立導出任務。使用起來十分方便,但是其的靈活性不如通過調用存貯過程的方法來得好。下面我們首先介紹如何通過向導建立一個靜態(tài)頁面導出。6.9.4.1.;;;;使用Enterprise Manager進行靜態(tài)頁面導出;;;;假設我們將建立一個靜態(tài)頁面,其內容為每日報紙上刊載的所有文章的題目及其所在版面。而此頁面的內容要求每當數(shù)據(jù)庫中的數(shù)據(jù)發(fā)生變化時都能隨之發(fā)生變化。下面我們來看看其具體的實現(xiàn)過程:;;;;在Enterprise Manager中找到要進行靜態(tài)頁面導出的服務器,打開其Management容器,右擊Web Publishing對象。從彈出的快捷菜單中選擇New Web Assistant Job選項。將啟動靜態(tài)頁面導出的向導(如下圖)。圖6.9.4.1-1靜態(tài)頁面導出向導步驟1,提示信息;;;;可以看到,此向導分為三步:定義導出數(shù)據(jù)、調度導出任務、格式化Web頁面。點擊下一步繼續(xù)。;;;;隨后將要我們選擇要導出的數(shù)據(jù)來自哪一個數(shù)據(jù)庫,我們選擇test后,點擊下一步繼續(xù)(如下圖)。圖6.9.4.1-2靜態(tài)頁面導出向導步驟2,選擇導出數(shù)據(jù)庫;;;;隨后將要求我們輸入此導出任務的名稱(默認為test Web Page),并選擇導出數(shù)據(jù)的方式(如下圖)。圖6.9.4.1-3靜態(tài)頁面導出向導步驟3,選擇導出方式其中有以下三種方式可供選擇:■;;;;Data from the tables an columns that Iselect:直接從表中選擇要導出的字段。■;;;;Result set(s) of a stored procedure Iselect:導出的數(shù)據(jù)來自一個存貯過程的運行結果。■;;;;Data from the Transact-SQL statement Ispecify:導出的數(shù)據(jù)來自一段SQL語句。根據(jù)我們的應用要求,選擇第三項之后,點擊下一步繼續(xù)。;;;;隨后根據(jù)我們選擇的導出方式,將要求輸入一段SQL語句(如下圖)。圖6.9.4.1-4靜態(tài)頁面導出向導步驟4,輸入導出查詢語句我們輸入如下的一段SQL語句:;;;;select id as '編號',banmian as '版面',timu as '題目'from gaojianwhere kanwu='出版報' and datepart(yy,riqi)=datepart(yy,getdate()) and datepart(dy,riqi)=datepart(dy,getdate());;;;輸入完成后,點擊下一步繼續(xù)。;;;;隨后將要我們對此任務的調度方式進行選擇(如下圖)。圖6.9.4.1-5靜態(tài)頁面導出向導步驟5,設置導出任務;;;;其中有下面幾個選項可供選擇:■;;;;Only one time when Icomplete this wizard:在完成此向導過程時執(zhí)行,并且只執(zhí)行這一次。■;;;;On demand:在需要的時候執(zhí)行。■;;;;Only one time at:只在指定的時刻執(zhí)行一次。■;;;;When the SQL Server data changes:當數(shù)據(jù)庫中的數(shù)據(jù)發(fā)生改變時執(zhí)行。■;;;;At regularly scheduled intervals:周期性的執(zhí)行此任務。對話框的下部有一個Generate a Web page when the wizard is completed選擇框,用來指明是否在此向導過程完成時執(zhí)行一次頁面導出(默認選擇此項)。根據(jù)我們的需要,應該選擇When the SQL Server data changes一項。點擊下一步繼續(xù)。接下來的一步根據(jù)上一步的選擇而會有所不同。我們看到的將是如下圖所示的對話框:圖6.9.4.1-6靜態(tài)頁面導出向導步驟6,指定跟蹤字段;;;;向導將要求我們選擇對哪個表中的哪些字段進行跟蹤。一旦表中的這些字段發(fā)生了改變(在插入、刪除記錄及修改記錄時),將會運行此任務來更新靜態(tài)頁面的內容。我們選擇對gaojian表中的id、riqi、laiyuan和timu四個字段進行跟蹤。選擇完成后,點擊下一步繼續(xù)。;;;;隨后將要我們選擇靜態(tài)頁面的存放位置及文件名(如下圖)。我們可以將其放在IIS中某一虛擬目錄所在的目錄下。從而可以讓用戶通過網(wǎng)頁對其進行訪問。圖6.9.4.1-7靜態(tài)頁面導出向導步驟7,指定靜態(tài)文件存放位置;;;;輸入合適的存放目錄和文件名之后,點擊下一步繼續(xù)。;;;;隨后將要對導出頁面的格式和編碼進行設定(如下圖)。圖6.9.4.1-8靜態(tài)頁面導出向導步驟8,指定靜態(tài)文件的格式和編碼;;;;對于頁面格式,我們可以讓系統(tǒng)自動完成其格式的設定,也可以通過指定一個模板文件來對其進行格式化。后面的內容將對模板文件進行討論。這里我們現(xiàn)選擇由系統(tǒng)自動完成頁面的格式化工作。在Use character set下拉列表框中可以對頁面的字符集進行選擇,由于我們使用中文,所以應該選擇簡體中文(GB2312)。點擊下一步繼續(xù)。;;;;接下來將要輸入頁面標題和SQL語句執(zhí)行結果表的標題并為其選擇字體的大小(如下圖)。圖6.9.4.1-9靜態(tài)頁面導出向導步驟9,指定靜態(tài)頁面標題;;;;對話框下部的Apply a time and data stamp to the Web page選擇框用來決定是否在頁面中顯示頁面生成的日期和時間,從而使用戶得知此頁面中的數(shù)據(jù)為何時生成的。設置完成后,點擊下一步繼續(xù)。;;;;隨后將對SQL語句執(zhí)行的結果表進行設置(如下圖)。圖6.9.4.1-10靜態(tài)頁面導出向導步驟10,靜態(tài)頁面顯示效果設置;;;;其中Yes,display column names和No,display data only單選框用來指明結果表中是否包含字段名(在表頭中顯示)。根據(jù)我們的需要,選擇Yes,display column names單選框,顯示字段名。而其下的一些選項用于對表中的一些字體效果進行設置。可以選擇固定寬度字體(Fixed)、比例寬度字體(Proportional)、加黑(Bold)和斜體(Italic)四種。而Draw border Lines around the HTML table選擇框用于指明是否為結果表畫出表框。設置完成后,點擊下一步繼續(xù)。;;;;隨后將提示是否在頁面中加入超鏈接(如下圖)。圖6.9.4.1-11靜態(tài)頁面導出向導步驟11,設置頁面超鏈接;;;;可以有以下三種選擇:■;;;;No:不在頁面中加入超鏈接。我們選擇此項。■;;;;Yes,add one hyperlink:加入一條超鏈接。并為其指明連接和顯示信息。■;;;;yes,add a list of hyperlink URLs:加入一個超鏈接列表。此列表是通過一段SQL語句從數(shù)據(jù)庫的某個表中得到的。選擇第一個選項后,點擊下一步繼續(xù)。接下來我們可以對返回的全部記錄的數(shù)量和每頁返回的結果數(shù)量進行限制(如下圖)。圖6.9.4.1-12靜態(tài)頁面導出向導步驟12,返回結果數(shù)量限制我們可以選擇"No,return all rows of data"單選框,不對返回的總記錄數(shù)目進行限制;也可以選擇"Yes,Return the first rows of data"單選框來對返回的記錄數(shù)目進行限制(通過在其后的文本輸入框中輸入要返回的最多記錄數(shù))。選擇了"No,put all data in one svrolling page"單選框則意味著所有返回的記錄都將被放在一個頁面文件之中。而如果選擇了"Yes,link the successive pages together"單選框則可以將返回的記錄放在許多頁面文件中,從而減小結果頁面的長度。方便用戶對其進行瀏覽。可以在其后的文本輸入框中輸入輸入每個頁面文件所包含最多的記錄數(shù)目。我們選擇每個頁面最多可包含20個記錄。設定完成后,點擊下一步繼續(xù)。;;;;隨后向導將提示我們已經完成了靜態(tài)頁面導出任務的設置,并顯示它的一些相關信息(如下圖)。圖6.9.4.1-13靜態(tài)頁面導出向導步驟13,完成確認信息;;;;如果點擊Write Transact-SQL to file按鈕,則可將此任務以一個SQL語言腳本文件的方式保存下來。這樣可以在以后通過運行這個腳本來再次建立這個任務。或者對腳本的內容進行修改,對其實現(xiàn)的功能作出一些調整。根據(jù)我們的設置,其產生的SQL語句如下:EXECUTE sp_makewebtask @outputfile = N'D:testcbbttt.htm',@query=N'select id,banmian,timu;;from gaojian;;where kanwu=''出版報'' anddatepart(yy,riqi)=datepart(yy,getdate())and datepart(dy,riqi)=datepart(dy,getdate())order by banmian ',@fixedfont=1, @colheaders=0,@HTMLheader=3, @webpagetitle=N'Microsoft SQL Server Web Assistant', @resultstitle=N'Query Results', @dbname=N'test', @whentype=10, @nrowsperpage=20,@datachg=N'TABLE=gaojian COLUMN=id,timu,laiyuan,riqi',@procname=N'test Web Page',@codepage=936,@charset=N'gb2312'一旦通過向導完成了靜態(tài)頁面導出任務的設定,就不能再通過Enterprise Manager對其屬性進行修改。只能使用SQL語句來修改其各項設置。我們將在后面對sp_makewebtask進行講解時再對其中各個參數(shù)的含義進行分析。;;;;點擊完成按鈕,結束此任務的設置工作。其產生的一個結果頁面如下圖所示。圖6.9.4.1-14靜態(tài)頁面導出結果;;;;注意:在設置了這個靜態(tài)頁面導出任務之后,如果你在對稿件進行修改、添加或刪除的時候,將會出現(xiàn)一個錯誤提示。如果你關閉了IE的顯示友好的HTTP錯誤信息功能的話(建議在調試IDC應用時關閉此功能,這樣就可以看到由系統(tǒng)返回的詳細錯誤信息)就會看到下面的錯誤信息:;;;;運行查詢錯誤[State=42000][Error=229][Microsoft][ODBC SQL Server Driver][SQL Server][Microsoft] [ODBC SQL Server Driver][SQL Server]EXECUTE permission denied on object 'test Web Page', database 'test', owner 'dbo'. [State=37000][Error=16805][Microsoft][ODBC SQL Server Driver][SQL Server]SQL Web Assistant: Could not execute the SQL statement.;;;;這是由于在省缺情況下,定義的靜態(tài)頁面導出的運行權利并不是默認的賦予每個用戶。所以當以editer的身份執(zhí)行IDC時,就會出現(xiàn)權限沒有得到許可的錯誤信息。不過這并不會影響對稿件數(shù)據(jù)的操作。;;;;解決這個問題有兩種方法,一個是修改相應的對稿件進行插入和修改的IDC文件,將其中的Username和password分別改為sa和sa的口令。這樣就會以sa的身份運行此IDC文件,從而就不會再出現(xiàn)錯誤了。而此方法會造成一些安全上的隱患,如果有人讀取了這些IDC文件。他就知道了sa的口令,從而可以以sa的身份登錄到數(shù)據(jù)庫之中。對數(shù)據(jù)庫可以進行幾乎沒有限制的操作和修改。為了避免這種情況的發(fā)生,可以通過運行下面的SQL語句來授予editers角色對靜態(tài)頁面導出任務的執(zhí)行權限:;;;;grant all on test.dbo.[test Web Page] to editers;;;;其中test Web Page為此靜態(tài)頁面導出任務的名字,之所以用中括號將其擴起來的原因是它的名字中包含空格。在SQL Server中,凡是名字中包含空格的對象,在引用其名稱時都應該用中括號將其括起來。而且對于這些對象,將不能在Enterprise Manager中對其權限等信息進行修改。而只能通過SQL語句來實現(xiàn)。這是由于Enterprise Manager中的一個bug造成的,在SQL Server的SP3中仍然沒有得到休正。;;;;雖然通過Enterprise Manager中的向導來建立靜態(tài)頁面導出任務是一個簡單的過程,但是對于一些復雜的情況就顯得有些不太適用了。比如,假設我們將要把每天出版報的內容放到Internet上通過靜態(tài)頁面進行發(fā)布。這樣光依靠Enterprise Manager的向導中提供的功能就遠遠不夠了。只能通過調用sp_makewebtask存貯過程并使用一些技巧來來實現(xiàn)這樣比較復雜的任務。
主站蜘蛛池模板: 亚洲天堂色网站 | 国产精品久久一区一区 | 中日韩欧美一级毛片 | 一级毛片在线播放免费 | 国产传媒在线观看 | 韩日在线 | 欧美日韩视频精品一区二区 | 九九精品99久久久香蕉 | 公妇乱淫日本免费观看 | 亚洲免费美女视频 | 嫩草成人国产精品 | 国产精品视频自拍 | 国产麻豆一级在线观看 | 亚洲天堂毛片 | 久久er热这里只有精品23 | 青青青国产精品国产精品美女 | 国产伦理一区二区三区 | 九九51精品国产免费看 | 欧美在线精品一区二区在线观看 | 日本三级免费网站 | 国产乱码| 亚洲人成在线精品不卡网 | 久久精品免视着国产成人 | 久久精品亚洲99一区二区 | 日韩精品一区二区三区小说 | 国产一级片观看 | 国产自啪啪| 亚洲综合激情六月婷婷在线观看 | 国产在线视频91 | 国产成人+亚洲欧洲 | 欧美综合国产 | 日本黄色高清 | 国产老湿机福利视频在线观看 | bunker国产videos | 国产v综合v亚洲欧美大另类 | 日本第一次处毛片 | 国产乱视频在线观看播放 | 亚洲精品入口一区二区乱 | 亚洲区在线播放 | 国产在线高清不卡免费播放 | 一级看片男女性高爱潮 |