迪's profile^free lance^PhotosBlogLists Tools Help

迪 孟

Lists

^free lance^

One Person's World
September 04

SQL 2005 如何批量修改表和存储过程的架构

1。先说说如何在SQL 2005中批量修改存储过程的架构。

执行以下SQL,将执行结果拷贝出来,批量执行既可。

SELECT 'ALTER SCHEMA dbo TRANSFER ' + s.Name + '.' + p.Name

FROM sys.Procedures p INNER JOIN sys.Schemas s on p.schema_id = s.schema_id

WHERE s.Name = '旧的架构名称'

2。再说说如何在SQL 2005中批量修改表的架构。

执行以下SQL,将执行结果拷贝出来,批量执行既可。

declare @name sysname
declare csr1 cursor
for
select TABLE_NAME from INFORMATION_SCHEMA.TABLES
open csr1

FETCH NEXT FROM csr1 INTO @name
while (@@FETCH_STATUS=0)
BEGIN
SET @name='旧的架构名称.' + @name

print 'ALTER SCHEMA dbo TRANSFER ' + @name
fetch next from csr1 into @name
END
CLOSE csr1
DEALLOCATE csr1

January 30

手机掉了。。。。

扼。。。。已经买新的了。。。。dopoda 575
April 23

css的使用(二)

第三讲:伪类——动态链接

伪类可以看做是一种特殊的类选择符,是能被支持CSS的浏览器自动所识别的特殊选择符。它的最大的用处就是可以对链接在不同状态下定义不同的样式效果。

 1.  语法
     伪类的语法是在原有的语法里加上一个伪类(pseudo-class):

 selector:pseudo-class {property: value}(选择符:伪类 {属性: }

   伪类和类不同,是CSS已经定义好的,不能象类选择符一样随意用别的名字,根据上面的语法可以解释为对象(选择符)在某个特殊状态下(伪类)的样式。类选择符及其他选择符也同样可以和伪类混用:

      selector.class:pseudo-class {property: value}

      (选择符.:伪类 {属性: }

2.  锚的伪类

我们最常用的是4a(锚)元素的伪类,它表示动态链接在4种不同的状态:linkvisitedactivehover(未访问的链接、已访问的链接、激活链接和鼠标停留在链接上)。我们把它们分别定义不同的效果:

 a:link {color: #FF0000; text-decoration: none} /* 未访问的链接 */

 a:visited {color: #00FF00; text-decoration: none} /* 已访问的链接 */

 a:hover {color: #FF00FF; text-decoration: underline} /* 鼠标在链接上 */

 a:active {color: #0000FF; text-decoration: underline} /* 激活链接 */

(上面这个例子中,这个链接未访问时的颜色是红色并无下划线,访问后是绿色并无下划线,激活链接时为蓝色并有下划线,鼠标在链接上时为紫色并有下划线) 注意:有时这个链接访问前鼠标指向链接时有效果,而链接访问后鼠标再次指向链接时却无效果了。这是因为你把a:hover放在了a:visited的前面,这样的话由于后面的优先级高,当访问链接后就忽略了a:hover的效果。所以根据叠层顺序,我们在定义这些链接样式时,一定要按照a:link a:visited a:hover a:actived的顺序书写。

    3.  伪类和类选择符

    将伪类和类组合起来用,就可以在同一个页面中做几组不同的链接效果了,例如,我们定义一组链接为红色,访问后为蓝色;另一组为绿色,访问后为黄色:

 a.red:link {color: #FF0000}

 a.red:visited {color: #0000FF}

 a.blue:link {color: #00FF00}

 a.blue:visited {color: #FF00FF}

 现在应用在不同的链接上:

 <a class="red" href="...">这是第一组链接</a>

 <a class="blue" href="...">这是第二组链接</a>

   4.  其他伪类

    此外CSS2还定义了首字和首行(first-letterfirst-line)的伪类,可以对元素的首字或首行设定不同的样式。下面看这个例子,我们在段落标记里定义文本首字尺寸为默认大小的3倍:

 <style type=text/css>

 p:first-letter {font-size: 300%}

 </style>

 ……

 <p>

 这是一个段落,这个段落的首字被放大了。

 </p>

 我们再定义一个首行样式的例子:

 <style type=text/css>

 div:first-line {color: red}

 </style>

 ……

 <div>

 <p>

 这是段落的第一行

 这是段落的第二行

 这是段落的第三行

  </p>

  </div>

  (上例中段落的第一行为红色,第二、三行为默认颜色)

  注意:首字和首行的伪类需要IE5.5以上的版本支持。

第四讲 如何在网页中插入CSS

前两章我们了解了CSS的语法,但要想在浏览器中显示出效果,就要让浏览器识别并调用。当浏览器读取样式表时,要依照文本格式来读,这里介绍四种在页面中插入样式表的方法:链入外部样式表、内部样式表、导入外表样式表和内嵌样式。

    链入外部样式表:

    链入外部样式表是把样式表保存为一个样式表文件,然后在页面中?lt;link>标记链接到这个样式表文件,这个<link>标记必须放到页面的<head>区内,如下:

      <head>

      ……

      <link rel="stylesheet" type="text/css" href="mystyle.css">

      ……

      </head>

   上面这个例子表示浏览器从mystyle.css文件中以文档格式读出定义的样式表。rel=stylesheet”是指在页面中使用这个外部的样式表。type=text/css”是指文件的类型是样式表文本。href=mystyle.css”是文件所在的位置。

    一个外部样式表文件可以应用于多个页面。当你改变这个样式表文件时,所有页面的样式都随之而改变。在制作大量相同样式页面的网站时,非常有用,不仅减少了重复的工作量,而且有利于以后的修改、编辑,浏览时也减少了重复下载代码。

    样式表文件可以用任何文本编辑器(例如:记事本)打开并编辑,一般样式表文件扩展名为.css。内容是定义的样式表,不包含HTML标记,mystyle.css这个文件的内容如下:

      hr {color: sienna}

      p {margin-left: 20px}

      body {background-image: url("images/back40.gif")}

  (定义水平线的颜色为土黄;段落左边的空白边距为20象素;页面的背景图片为images目录下的back40.gif文件)

  内部样式表:

  内部样式表是把样式表放到页面?lt;head>区里,这些定义的样式就应用到页面中了,样式表是用<style>标记插入的,从下例中可以看出<style>标记的用法:

      <head>

      ……

      <style type="text/css">

      hr {color: sienna}

      p {margin-left: 20px}

      body {background-image: url("images/back40.gif")}

      </style>

      ……

      </head>

注意:有些低版本的浏览器不能识别style标记,这意味着低版本的浏览器会忽略style标记里的内容,并把style标记里的内容以文本直接显示到页面上。为了避免这样的情况发生,我们用加HTML注释的方式(<!--

      注释 -->)隐藏内容而不让它显示:

      <head>

      ……

      <style type="text/css">

      <!--

      hr {color: sienna}

      p {margin-left: 20px}

      body {background-image: url("images/back40.gif")}

      -->

      </style>

      ……

      </head>

        导入外部样式表

导入外部样式表是指在内部样式表的<style>里导入一个外部样式表,导入时用@import,看下面这个实例:

      <head>

      ……

      <style type=text/css>

      <!--

      @import mystyle.css

      其他样式表的声明

      -->

      </style>

      ……

      </head>

      例中@import

   mystyle.css”表示导入mystyle.css样式表,注意使用时外部样式表的路径。方法和链入样式表的方法很相似,但导入外部样式表输入方式更有优势。实质上它相当于存在内部样式表中的。注意:导入外部样式表必须在样式表的开始部分,在其他内部样式表上面。

    内嵌样式

    内嵌样式是混合在HTML标记里使用的,用这种方法,可以很简单的对某个元素单独定义样式。内嵌样式的使用是直接将在HTML标记里加入style参数。而style参数的内容就是CSS的属性和值,如下例:

      <p style="color: sienna; margin-left: 20px">

      这是一个段落

      </p>

      (这个段落颜色为土黄,左边距为20象素)

 style参数后面的引号里的内容相当于在样式表大括号里的内容。

 注意:style参数可以应用于任意BODY内的元素(包括BODY本事),除了BASEFONTPARAMSCRIPT

多重样式表的叠加:

上一章里我们已经提到样式表的层叠顺序,这里我们讨论插入样式表的这几种方法的叠加,如果在同一个选择器上使用几个不同的样式表时,这个属性值将会叠加几个样式表,遇到冲突的地方会以最后定义的为准。例如,我们首先链入一个外部样式表,其中定义了h3选择符的color text-aligfont-size属性:

      h3

      {

      color: red;

      text-align: left;

      font-size: 8pt

      }

      (标题3的文字颜色为红色;向左对齐;文字尺寸为8号字)

      然后在内部样式表里也定义了h3选择符的text-alignfont-size属性:

      h3

      {

      text-align: right;

      font-size: 20pt

      }

      (标题3文字向右对齐;尺寸为20号字)

      那么这个页面叠加后的样式就是:

      color: red;

      text-align: right;

      font-size: 20pt

      (文字颜色为红色;向右对齐;尺寸为20号字)

    字体颜色从外部样式表里保留下来,而对齐方式和字体尺寸都有定义时,按照后定义的优先而依照内部样式表。注意:依照后定义的优先,所以优先级最高的是内嵌样式,内部样式表高于导入外部样式表,链入的外部样式表和内部样式表之间是最后定义的优先级高。

css的使用(一)

第一讲:CSS概述

 一、认识CSSCSS就是Cascading Style Sheets,中文翻译为“层叠样式表”,简称样式表,它是一种制作网页的新技术。

    网页设计最初是用HTML标记来定义页面文档及格式,例如标题<h1>、段落<p>、表格<table>、链接<a>等,但这些标记不能满足更多的文档样式需求,为了解决这个问题,在1997W3C(The World Wide Web Consortium)颁布HTML4标准的同时也公布了有关样式表的第一个标准CSS1, CSS1的版本之后,又在19985月发布了CSS2版本,样式表得到了更多的充实。W3CDHTML(Dynamic HTML)分为三个部分来实现:脚本语言(包括JavaScriptVbscript)、支持动态效果的浏览器(包括Internet       ExplorerNetscape Navigator)CSS样式表。你可以用CSS精确的控制页面里每一个元素的字体样式、背景、排列方式、区域尺寸、四周加入边框等。使用CSS能够简化网页的格式代码,加快下载显示的速度,外部链接样式可以同时定义多个页面,大大减少了重复劳动的工作量。 注意:CSS需要IE4(Internet Explorer 4.0)NC4(Netscape4.0)以上的浏览器支持,有些效果需要更高版本的浏览器支持。

第二讲: 语法

     1、基本语法:CSS的定义是由三个部分构成:选择符(selector),属性(properties)和属性的取值(value)。基本格式如下:

    selector {property: value} 选择符 {属性:值}

    选择符是可以是多种形式,一般是你要定义样式的HTML标记,例如BODYPTABLE……,你可以通过此方法定义它的属性和值,属性和值要用冒号隔开:

   body {color: black}

  选择符body是指页面主体部分,color是控制文字颜色的属性,black是颜色的值,此例的效果是使页面中的文字为黑色。

  如果属性的值是多个单词组成,必须在值上加引号,比如字体的名称经常是几个单词的组合:

  p {font-family: "sans serif"}(定义段落字体为sans serif

  如果需要对一个选择符指定多个属性时,我们使用分号将所有的属性和值分开:

  p {text-align: center; color: red}段落居中排列;并且段落中的文字为红色)

  为了使你定义的样式表方便阅读,你可以采用分行的书写格式:

      p

      {

      text-align: center;

      color: black;

      font-family: arial

      }

      (段落排列居中,段落中文字为黑色,字体是arial

      2、选择符组

      你可以把相同属性和值的选择符组合起来书写,用逗号将选择符分开,这样可以减少样式重复定义:

      h1, h2, h3, h4, h5, h6 { color: green }

      (这个组里包括所有的标题元素,每个标题元素的文字都为绿色)

      p, table{ font-size: 9pt }

      (段落和表格里的文字尺寸为9号字)

      效果完全等效于:

      p { font-size: 9pt }

      table { font-size: 9pt }

      3.类选择符

      用类选择符你能够把相同的元素分类定义不同的样式,定义类选择符时,在自定类的名称前面加一个点号。假如你想要两个不同的段落,一个段落向右对齐,一个段落居中,你可以先定义两个类:

      p.right {text-align: right}

      p.center {text-align: center}

      然后用不在不同的段落里,只要在HTML标记里加入你定义的class参数:

      <p class="right">

      这个段落向右对齐的

      </p>

      <p class="center">

      这个段落是居中排列的

      </p>

      注意:类的名称可以是任意英文单词或以英文开头与数字的组合,一般以其功能和效果简要命名。

      类选择符还有一种用法,在选择符中省略HTML标记名,这样可以把几个不同的元素定义成相同的样式:

      .center {text-align: center}

      (定义.center的类选择符为文字居中排列)

      这样的类可以被应用到任何元素上。下面我们使h1元素(标题1)和p元素(段落)都归为“center”类,这使两个元素的样式都跟随“.center”这个类选择符:

      <h1 class="center">

      这个标题是居中排列的

      </h1>

      <p class="center">

      这个段落也是居中排列的

      </p>

      注意:这种省略HTML标记的类选择符是我们经后最常用的CSS方法,使用这种方法,我们可以很方便的在任意元素上套用预先定义好的类样式。

      4.  ID选择符

      HTML页面中ID参数指定了某个单一元素,ID选择符是用来对这个单一元素定义单独的样式。

      ID选择符的应用和类选择符类似,只要把CLASS换成ID即可。将上例中类用ID替代:

      <p id="intro">

      这个段落向右对齐

      </p>

      定义ID选择符要在ID名称前加上一个“#”号。和类选择符相同,定义ID选择符的属性也有两种方法。下面这个例子,ID属性将匹配所有id="intro"的元素:

      #intro

      {

      font-size:110%;

      font-weight:bold;

      color:#0000ff;

      background-color:transparent

      }

      (字体尺寸为默认尺寸的110%;粗体;蓝色;背景颜色透明)

      下面这个例子,ID属性只匹配id="intro"的段落元素:

      p#intro

      {

      font-size:110%;

      font-weight:bold;

      color:#0000ff;

      background-color:transparent

      }

      注意:ID选择符局限性很大,只能单独定义某个元素的样式,一般只在特殊情况下使用。

      5.  包含选择符

      可以单独对某种元素包含关系定义的样式表,元素1里包含元素2,这种方式只对在元素1里的元素2定义,对单独的元素1或元素2无定义,例如:

      table a

      {

      font-size: 12px

      }

      在表格内的链接改变了样式,文字大小为12象素,而表格外的链接的文字仍为默认大小。

      6.  样式表的层叠性

      层叠性就是继承性,样式表的继承规则是外部的元素样式会保留下来继承给这个元素所包含的其他元素。事实上,所有在元素中嵌套的元素都会继承外层元素指定的属性值,有时会把很多层嵌套的样式叠加在一起,除非另外更改。例如在DIV标记中嵌套P标记:

      div { color: red; font-size:9pt}

      ……

      <div>

      <p>

      这个段落的文字为红色9号字

      </p>

      </div>

      P元素里的内容会继承DIV定义的属性)

      注意:有些情况下内部选择符不继承周围选择符的值,但理论上这些都是特殊的。例如,上边界属性值是不会继承的,直觉上,一个段落不会同文档BODY一样的上边界值。

      另外,当样式表继承遇到冲突时,总是以最后定义的样式为准。如果上例中定义了P的颜色:

      div { color: red; font-size:9pt}

      p {color: blue}

      ……

      <div>

      <p>

      这个段落的文字为蓝色9号字

      </p>

      </div>

      我们可以看到段落里的文字大小为9号字是继承div属性的,而color属性则依照最后定义的。

      不同的选择符定义相同的元素时,要考虑到不同的选择符之间的优先级。ID选择符,类选择符和HTML标记选择符,因为ID选择符是最后加上元素上的,所以优先级最高,其次是类选择符。如果想超越这三者之间的关系,可以用!important提升样式表的优先权,例如:

      p { color: #FF0000!important }

      .blue { color: #0000FF}

      #id1 { color: #FFFF00}

      我们同时对页面中的一个段落加上这三种样式,它最后会依照被!important申明的HTML标记选择符样式为红色文字。如果去掉!important,则依照优先权最高的ID选择符为黄色文字。

      7.  注释

      你可以在CSS中插入注释来说明你代码的意思,注释有利于你或别人以后编辑和更改代码时理解代码的含义。在浏览器中,注释是不显示的。CSS注释以"/*"

      开头,以"*/" 结尾,如下:

      /* 定义段落样式表 */

      p

      {

      text-align: center; /* 文本居中排列 */

      color: black; /* 文字为黑色 */

font-family: arial /* 字体为arial */

March 23

ssh关闭用户登陆

1) 修改 /etc/pam.d/sshd
auth       required     pam_listfile.so item=user sense=allow file=/etc/sshusers onerr=fail
2) 將你要的用戶寫進 /etc/sshusers ,如:
echo "root" >> /etc/sshusers

qmailbakup脚本

#/bin/sh
DATE=$(date +%Y-%m-%d)
cd /var/qmailbakup/
tar -cvzf domains.$DATE.tar.gz /var/qmail/vpopmail/domains
tar -cvzf control.$DATE.tar.gz /var/qmail/control
tar -cvzf mysql.$DATE.tar.gz /usr/local/mysql/var
ftp -n (ip) << !
user xxxxl xxxx

binary
put domains.$DATE.tar.gz
put control.$DATE.tar.gz
put mysql.$DATE.tar.gz
bye
!

简易VSFTPD服务器的构建

1.确认是否安装VSFTPD软件:#rpm –qa|grep vsftpd
2.启动FTP服务器:#service vsftpd start
3.默认的FTP目录为 /var/ftp/pub
4.FTP 127.0.0.1进行匿名测试,name:anonymous pass:

 FTP服务器的进一步配置
创建欢迎语:
1.打开/etc/vsftpd/vsftpd.conf文件
2.把dirmessage_enable的值改为YES
3.在你的FTP目录创建一个message的文本文件,填写欢迎词就OK了

更换FTP服务器的默认端口:
1.打开vsftpd.conf文件
2.在文件最后一行增加如下内容 listen_port=2121,默认端口21改为2121

取消Anonymous登陆功能:
在vsftpd.conf文件中把Anonymous的值改为NO

使用者不能更改目录:
在vsftod.conf中找到如下三行
#chroot_list_enable=YES
#(default follows)
#chroot_list_file=/etc/vsftpd.chroot_list

将其改为:
#chroot_list_enable=YES
#(default follows)
Chroot_list_file=/etc/vsftpd/chroot.list
新增加一个文件:/etc/vsftpd/chroot_list,文件的内容为需要登陆的用户名

 注意:修改完后需要重新启动FTP服务器,SERVICE VSFTPD RESTART

更改目录时,系统会提示你:Failed to change directory

 虚拟用户FTP的配置

虚拟用户的特点:只能访问服务器为其提供的FTP服务,而不能访问系统的其它资源。

虚拟用户的目的:提高系统的安全性。

1.建立虚拟用户口令库文件,建立一个.TXT文件,格式为:单数行为name,偶数行为pssword

2.生成口令库文件,并且修改文件的权限

 注意:在使用下面的命令前,一定要先安装Berkeley db程序
#db_load –T -t hash -f account.txt /etc/vsftpd/account.db
#chmod 600 /etc/vsftpd/account.db

3.新建一个虚拟用户的PAM文件,加上以下两句:
#vi /etc/pam.d/vsftp.vu
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/account
account required /lib/security/pam_userdb.so db=/etc/vsftpd/account

4.建立虚拟用户,以及设置该用户所要访问的目录并设置虚拟用户的访问权限:
#useradd –d /ftp virtual_user
#chmod 700 /ftp

至此虚拟用户已经设置完毕
 注意:需要在/etc/vsftpd/vsftpd.conf中加入以下两句
guest_username=virtual
guest_enable=YES
pam_service_name=vsftp.vu指定PAM文件的配置文件为vsftp.vu

 

 
There are no photo albums.