av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術(shù)文章
文章詳情頁

SQL Server靜態(tài)頁面導(dǎo)出技術(shù)1

瀏覽:154日期:2023-11-04 09:00:22
本段文章節(jié)選自鐵道出版社新出的《用BackOffice建立Intranet/Extranet應(yīng)用》一書(現(xiàn)已在海淀圖書城有售)。本書詳盡地講述了如何使用微軟BackOffice系列產(chǎn)品來組建Intranet/Extranet應(yīng)用。通過它您將掌握NT的安裝和設(shè)置、使用IIS建立Web站點(diǎn)、通過ILS建立網(wǎng)絡(luò)會議系統(tǒng)、用Exchange建立企業(yè)的郵件和協(xié)作系統(tǒng)、用SQL Server建立Web數(shù)據(jù)庫應(yīng)用、用Proxy Server建立同Internet安全可靠的連接、用Media Server建立網(wǎng)絡(luò)電視臺/廣播站、用Chart server建立功能強(qiáng)大的聊天室、用Site Server建立個(gè)性化的郵件列表和分析網(wǎng)站的訪問情況、用Commerce Server建立B2B或B2C的電子商務(wù)網(wǎng)站。此外本書還對網(wǎng)絡(luò)的安全性進(jìn)行了討論,從而指導(dǎo)您建立一個(gè)更為健壯和安全的網(wǎng)絡(luò)應(yīng)用。閱讀本書之后,您將發(fā)現(xiàn)實(shí)現(xiàn)豐富多彩的網(wǎng)絡(luò)應(yīng)用原來這樣簡單……絕對原創(chuàng),歡迎轉(zhuǎn)載。但請務(wù)必保留以上文字。;;;;我們在前面對靜態(tài)頁面導(dǎo)出技術(shù)進(jìn)行了初步的介紹,現(xiàn)在我們通過一些實(shí)例來完成對它的詳細(xì)講解。;;;;靜態(tài)頁面導(dǎo)出可以通過調(diào)用存貯過程和使用Enterprise Manager中的向?qū)煞N方式來完成。通過向?qū)У姆绞娇梢院苋菀椎貙?shù)據(jù)庫的數(shù)據(jù)導(dǎo)出為靜態(tài)頁面或建立導(dǎo)出任務(wù)。使用起來十分方便,但是其的靈活性不如通過調(diào)用存貯過程的方法來得好。下面我們首先介紹如何通過向?qū)Ы⒁粋€(gè)靜態(tài)頁面導(dǎo)出。6.9.4.1.;;;;使用Enterprise Manager進(jìn)行靜態(tài)頁面導(dǎo)出;;;;假設(shè)我們將建立一個(gè)靜態(tài)頁面,其內(nèi)容為每日報(bào)紙上刊載的所有文章的題目及其所在版面。而此頁面的內(nèi)容要求每當(dāng)數(shù)據(jù)庫中的數(shù)據(jù)發(fā)生變化時(shí)都能隨之發(fā)生變化。下面我們來看看其具體的實(shí)現(xiàn)過程:;;;;在Enterprise Manager中找到要進(jìn)行靜態(tài)頁面導(dǎo)出的服務(wù)器,打開其Management容器,右擊Web Publishing對象。從彈出的快捷菜單中選擇New Web Assistant Job選項(xiàng)。將啟動靜態(tài)頁面導(dǎo)出的向?qū)Вㄈ缦聢D)。圖6.9.4.1-1靜態(tài)頁面導(dǎo)出向?qū)Р襟E1,提示信息;;;;可以看到,此向?qū)Х譃槿剑憾x導(dǎo)出數(shù)據(jù)、調(diào)度導(dǎo)出任務(wù)、格式化Web頁面。點(diǎn)擊下一步繼續(xù)。;;;;隨后將要我們選擇要導(dǎo)出的數(shù)據(jù)來自哪一個(gè)數(shù)據(jù)庫,我們選擇test后,點(diǎn)擊下一步繼續(xù)(如下圖)。圖6.9.4.1-2靜態(tài)頁面導(dǎo)出向?qū)Р襟E2,選擇導(dǎo)出數(shù)據(jù)庫;;;;隨后將要求我們輸入此導(dǎo)出任務(wù)的名稱(默認(rèn)為test Web Page),并選擇導(dǎo)出數(shù)據(jù)的方式(如下圖)。圖6.9.4.1-3靜態(tài)頁面導(dǎo)出向?qū)Р襟E3,選擇導(dǎo)出方式其中有以下三種方式可供選擇:■;;;;Data from the tables an columns that Iselect:直接從表中選擇要導(dǎo)出的字段。■;;;;Result set(s) of a stored procedure Iselect:導(dǎo)出的數(shù)據(jù)來自一個(gè)存貯過程的運(yùn)行結(jié)果。■;;;;Data from the Transact-SQL statement Ispecify:導(dǎo)出的數(shù)據(jù)來自一段SQL語句。根據(jù)我們的應(yīng)用要求,選擇第三項(xiàng)之后,點(diǎn)擊下一步繼續(xù)。;;;;隨后根據(jù)我們選擇的導(dǎo)出方式,將要求輸入一段SQL語句(如下圖)。圖6.9.4.1-4靜態(tài)頁面導(dǎo)出向?qū)Р襟E4,輸入導(dǎo)出查詢語句我們輸入如下的一段SQL語句:;;;;select id as '編號',banmian as '版面',timu as '題目'from gaojianwhere kanwu='出版報(bào)' and datepart(yy,riqi)=datepart(yy,getdate()) and datepart(dy,riqi)=datepart(dy,getdate());;;;輸入完成后,點(diǎn)擊下一步繼續(xù)。;;;;隨后將要我們對此任務(wù)的調(diào)度方式進(jìn)行選擇(如下圖)。圖6.9.4.1-5靜態(tài)頁面導(dǎo)出向?qū)Р襟E5,設(shè)置導(dǎo)出任務(wù);;;;其中有下面幾個(gè)選項(xiàng)可供選擇:■;;;;Only one time when Icomplete this wizard:在完成此向?qū)н^程時(shí)執(zhí)行,并且只執(zhí)行這一次。■;;;;On demand:在需要的時(shí)候執(zhí)行。■;;;;Only one time at:只在指定的時(shí)刻執(zhí)行一次。■;;;;When the SQL Server data changes:當(dāng)數(shù)據(jù)庫中的數(shù)據(jù)發(fā)生改變時(shí)執(zhí)行。■;;;;At regularly scheduled intervals:周期性的執(zhí)行此任務(wù)。對話框的下部有一個(gè)Generate a Web page when the wizard is completed選擇框,用來指明是否在此向?qū)н^程完成時(shí)執(zhí)行一次頁面導(dǎo)出(默認(rèn)選擇此項(xiàng))。根據(jù)我們的需要,應(yīng)該選擇When the SQL Server data changes一項(xiàng)。點(diǎn)擊下一步繼續(xù)。接下來的一步根據(jù)上一步的選擇而會有所不同。我們看到的將是如下圖所示的對話框:圖6.9.4.1-6靜態(tài)頁面導(dǎo)出向?qū)Р襟E6,指定跟蹤字段;;;;向?qū)⒁笪覀冞x擇對哪個(gè)表中的哪些字段進(jìn)行跟蹤。一旦表中的這些字段發(fā)生了改變(在插入、刪除記錄及修改記錄時(shí)),將會運(yùn)行此任務(wù)來更新靜態(tài)頁面的內(nèi)容。我們選擇對gaojian表中的id、riqi、laiyuan和timu四個(gè)字段進(jìn)行跟蹤。選擇完成后,點(diǎn)擊下一步繼續(xù)。;;;;隨后將要我們選擇靜態(tài)頁面的存放位置及文件名(如下圖)。我們可以將其放在IIS中某一虛擬目錄所在的目錄下。從而可以讓用戶通過網(wǎng)頁對其進(jìn)行訪問。圖6.9.4.1-7靜態(tài)頁面導(dǎo)出向?qū)Р襟E7,指定靜態(tài)文件存放位置;;;;輸入合適的存放目錄和文件名之后,點(diǎn)擊下一步繼續(xù)。;;;;隨后將要對導(dǎo)出頁面的格式和編碼進(jìn)行設(shè)定(如下圖)。圖6.9.4.1-8靜態(tài)頁面導(dǎo)出向?qū)Р襟E8,指定靜態(tài)文件的格式和編碼;;;;對于頁面格式,我們可以讓系統(tǒng)自動完成其格式的設(shè)定,也可以通過指定一個(gè)模板文件來對其進(jìn)行格式化。后面的內(nèi)容將對模板文件進(jìn)行討論。這里我們現(xiàn)選擇由系統(tǒng)自動完成頁面的格式化工作。在Use character set下拉列表框中可以對頁面的字符集進(jìn)行選擇,由于我們使用中文,所以應(yīng)該選擇簡體中文(GB2312)。點(diǎn)擊下一步繼續(xù)。;;;;接下來將要輸入頁面標(biāo)題和SQL語句執(zhí)行結(jié)果表的標(biāo)題并為其選擇字體的大小(如下圖)。圖6.9.4.1-9靜態(tài)頁面導(dǎo)出向?qū)Р襟E9,指定靜態(tài)頁面標(biāo)題;;;;對話框下部的Apply a time and data stamp to the Web page選擇框用來決定是否在頁面中顯示頁面生成的日期和時(shí)間,從而使用戶得知此頁面中的數(shù)據(jù)為何時(shí)生成的。設(shè)置完成后,點(diǎn)擊下一步繼續(xù)。;;;;隨后將對SQL語句執(zhí)行的結(jié)果表進(jìn)行設(shè)置(如下圖)。圖6.9.4.1-10靜態(tài)頁面導(dǎo)出向?qū)Р襟E10,靜態(tài)頁面顯示效果設(shè)置;;;;其中Yes,display column names和No,display data only單選框用來指明結(jié)果表中是否包含字段名(在表頭中顯示)。根據(jù)我們的需要,選擇Yes,display column names單選框,顯示字段名。而其下的一些選項(xiàng)用于對表中的一些字體效果進(jìn)行設(shè)置。可以選擇固定寬度字體(Fixed)、比例寬度字體(Proportional)、加黑(Bold)和斜體(Italic)四種。而Draw border Lines around the HTML table選擇框用于指明是否為結(jié)果表畫出表框。設(shè)置完成后,點(diǎn)擊下一步繼續(xù)。;;;;隨后將提示是否在頁面中加入超鏈接(如下圖)。圖6.9.4.1-11靜態(tài)頁面導(dǎo)出向?qū)Р襟E11,設(shè)置頁面超鏈接;;;;可以有以下三種選擇:■;;;;No:不在頁面中加入超鏈接。我們選擇此項(xiàng)。■;;;;Yes,add one hyperlink:加入一條超鏈接。并為其指明連接和顯示信息。■;;;;yes,add a list of hyperlink URLs:加入一個(gè)超鏈接列表。此列表是通過一段SQL語句從數(shù)據(jù)庫的某個(gè)表中得到的。選擇第一個(gè)選項(xiàng)后,點(diǎn)擊下一步繼續(xù)。接下來我們可以對返回的全部記錄的數(shù)量和每頁返回的結(jié)果數(shù)量進(jìn)行限制(如下圖)。圖6.9.4.1-12靜態(tài)頁面導(dǎo)出向?qū)Р襟E12,返回結(jié)果數(shù)量限制我們可以選擇"No,return all rows of data"單選框,不對返回的總記錄數(shù)目進(jìn)行限制;也可以選擇"Yes,Return the first rows of data"單選框來對返回的記錄數(shù)目進(jìn)行限制(通過在其后的文本輸入框中輸入要返回的最多記錄數(shù))。選擇了"No,put all data in one svrolling page"單選框則意味著所有返回的記錄都將被放在一個(gè)頁面文件之中。而如果選擇了"Yes,link the successive pages together"單選框則可以將返回的記錄放在許多頁面文件中,從而減小結(jié)果頁面的長度。方便用戶對其進(jìn)行瀏覽。可以在其后的文本輸入框中輸入輸入每個(gè)頁面文件所包含最多的記錄數(shù)目。我們選擇每個(gè)頁面最多可包含20個(gè)記錄。設(shè)定完成后,點(diǎn)擊下一步繼續(xù)。;;;;隨后向?qū)⑻崾疚覀円呀?jīng)完成了靜態(tài)頁面導(dǎo)出任務(wù)的設(shè)置,并顯示它的一些相關(guān)信息(如下圖)。圖6.9.4.1-13靜態(tài)頁面導(dǎo)出向?qū)Р襟E13,完成確認(rèn)信息;;;;如果點(diǎn)擊Write Transact-SQL to file按鈕,則可將此任務(wù)以一個(gè)SQL語言腳本文件的方式保存下來。這樣可以在以后通過運(yùn)行這個(gè)腳本來再次建立這個(gè)任務(wù)。或者對腳本的內(nèi)容進(jìn)行修改,對其實(shí)現(xiàn)的功能作出一些調(diào)整。根據(jù)我們的設(shè)置,其產(chǎn)生的SQL語句如下:EXECUTE sp_makewebtask @outputfile = N'D:testcbbttt.htm',@query=N'select id,banmian,timu;;from gaojian;;where kanwu=''出版報(bào)'' 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'一旦通過向?qū)瓿闪遂o態(tài)頁面導(dǎo)出任務(wù)的設(shè)定,就不能再通過Enterprise Manager對其屬性進(jìn)行修改。只能使用SQL語句來修改其各項(xiàng)設(shè)置。我們將在后面對sp_makewebtask進(jìn)行講解時(shí)再對其中各個(gè)參數(shù)的含義進(jìn)行分析。;;;;點(diǎn)擊完成按鈕,結(jié)束此任務(wù)的設(shè)置工作。其產(chǎn)生的一個(gè)結(jié)果頁面如下圖所示。圖6.9.4.1-14靜態(tài)頁面導(dǎo)出結(jié)果;;;;注意:在設(shè)置了這個(gè)靜態(tài)頁面導(dǎo)出任務(wù)之后,如果你在對稿件進(jìn)行修改、添加或刪除的時(shí)候,將會出現(xiàn)一個(gè)錯(cuò)誤提示。如果你關(guān)閉了IE的顯示友好的HTTP錯(cuò)誤信息功能的話(建議在調(diào)試IDC應(yīng)用時(shí)關(guān)閉此功能,這樣就可以看到由系統(tǒng)返回的詳細(xì)錯(cuò)誤信息)就會看到下面的錯(cuò)誤信息:;;;;運(yùn)行查詢錯(cuò)誤[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)頁面導(dǎo)出的運(yùn)行權(quán)利并不是默認(rèn)的賦予每個(gè)用戶。所以當(dāng)以editer的身份執(zhí)行IDC時(shí),就會出現(xiàn)權(quán)限沒有得到許可的錯(cuò)誤信息。不過這并不會影響對稿件數(shù)據(jù)的操作。;;;;解決這個(gè)問題有兩種方法,一個(gè)是修改相應(yīng)的對稿件進(jìn)行插入和修改的IDC文件,將其中的Username和password分別改為sa和sa的口令。這樣就會以sa的身份運(yùn)行此IDC文件,從而就不會再出現(xiàn)錯(cuò)誤了。而此方法會造成一些安全上的隱患,如果有人讀取了這些IDC文件。他就知道了sa的口令,從而可以以sa的身份登錄到數(shù)據(jù)庫之中。對數(shù)據(jù)庫可以進(jìn)行幾乎沒有限制的操作和修改。為了避免這種情況的發(fā)生,可以通過運(yùn)行下面的SQL語句來授予editers角色對靜態(tài)頁面導(dǎo)出任務(wù)的執(zhí)行權(quán)限:;;;;grant all on test.dbo.[test Web Page] to editers;;;;其中test Web Page為此靜態(tài)頁面導(dǎo)出任務(wù)的名字,之所以用中括號將其擴(kuò)起來的原因是它的名字中包含空格。在SQL Server中,凡是名字中包含空格的對象,在引用其名稱時(shí)都應(yīng)該用中括號將其括起來。而且對于這些對象,將不能在Enterprise Manager中對其權(quán)限等信息進(jìn)行修改。而只能通過SQL語句來實(shí)現(xiàn)。這是由于Enterprise Manager中的一個(gè)bug造成的,在SQL Server的SP3中仍然沒有得到休正。;;;;雖然通過Enterprise Manager中的向?qū)斫㈧o態(tài)頁面導(dǎo)出任務(wù)是一個(gè)簡單的過程,但是對于一些復(fù)雜的情況就顯得有些不太適用了。比如,假設(shè)我們將要把每天出版報(bào)的內(nèi)容放到Internet上通過靜態(tài)頁面進(jìn)行發(fā)布。這樣光依靠Enterprise Manager的向?qū)е刑峁┑墓δ芫瓦h(yuǎn)遠(yuǎn)不夠了。只能通過調(diào)用sp_makewebtask存貯過程并使用一些技巧來來實(shí)現(xiàn)這樣比較復(fù)雜的任務(wù)。
標(biāo)簽: Sql Server 數(shù)據(jù)庫
主站蜘蛛池模板: 日批的视频 | 久久精品视频在线观看 | 精品精品视频 | 精品国产免费一区二区三区五区 | 成人国产精品久久 | 欧美日韩高清一区 | 先锋资源亚洲 | 嫩草懂你的影院入口 | 成年人免费看 | 三级视频在线观看电影 | 香蕉视频在线播放 | 在线视频一区二区三区 | 亚洲成人自拍 | 日本不卡一区二区三区在线观看 | 精品久久久久久久久久久下田 | 国产精品久久久亚洲 | 一级片网址 | 天天操夜夜操 | 中文字幕av色 | 99热热| 国产永久免费 | 免费三级av| 精品蜜桃一区二区三区 | a级片在线 | 日韩欧美一区二区三区免费看 | 国产精品五区 | 成人精品一区 | 97视频成人| 高清成人免费视频 | 国产精品一区在线观看 | 超碰在线播 | 国产精品亚洲成在人线 | 亚洲成av人影片在线观看 | 中文字幕高清 | 超碰欧美 | 激情欧美一区二区三区中文字幕 | 国产日韩一区二区 | 国产精品久久久久久 | 色欧美片视频在线观看 | 国产精品欧美一区二区三区 | 亚洲午夜网|