亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? psa-chapter07.txt

?? perl語言的經典文章
?? TXT
?? 第 1 頁 / 共 2 頁
字號:
die "Unable to query available DSN's".Win32::ODBC::Error()."\n" 
  unless (%dsnavail = Win32::ODBC::DataSources());
if (!defined $dsnavail{$dsn}) {
    die "unable to create DSN:".Win32::ODBC::Error()."\n"
      unless (Win32::ODBC::ConfigDSN(ODBC_ADD_DSN, 
				  "SQL Server", 
				  ("DSN=$dsn", 
				   "DESCRIPTION=DSN for PerlSysAdm", 
				   "SERVER=mssql.happy.edu",
				   "DATABASE=master",
				   "NETWORK=DBMSSOCN", # TCP/IP Socket Lib
				  )));
}

# connect to the master database
$dbh = new Win32::ODBC("DSN=$dsn;UID=$user;PWD=$pw;");
die "Unable to connect to DSN $dsn:".Win32::ODBC::Error()."\n" 
  unless (defined $dbh);

# find the databases on the server
if (defined $dbh->Sql(q{SELECT name from sysdatabases})){
    die "Unable to query databases:".Win32::ODBC::Error()."\n";
}

while ($dbh->FetchRow()){
    push(@dbs, $dbh->Data("name"));
}
$dbh->DropCursor();

# find the user tables in each database
foreach $db (@dbs) {
    if (defined $dbh->Sql("use $db")){
	die "Unable to change to database $db:" . Win32::ODBC::Error() . "\n";
    }
    print "---$db---\n";
    @tables=();
    if (defined $dbh->Sql(q{SELECT name from sysobjects 
                            WHERE type="U"})){
	die "Unable to query tables in $db:" . Win32::ODBC::Error() . "\n";
    }
    while ($dbh->FetchRow()) {
	push(@tables,$dbh->Data("name"));
    } 
    $dbh->DropCursor();

    # find the column info for each table
    foreach $table (@tables) {
  	    print "\t$table\n";
  	    if (defined $dbh->Sql(" {call sp_columns (\'$table\')} ")){
	        die "Unable to query columns in 
                  $table:".Win32::ODBC::Error() . "\n";
	    }
	    while ($dbh->FetchRow()) {
	        @cols=();
	        @cols=$dbh->Data("COLUMN_NAME","TYPE_NAME","PRECISION");
	        print "\t\t",$cols[0]," [",$cols[1],"(",$cols[2],")]\n";
	    } 
	    $dbh->DropCursor();
	}
}
$dbh->Close();

die "Unable to delete DSN:".Win32::ODBC::Error()."\n"
    unless (Win32::ODBC::ConfigDSN(ODBC_REMOVE_DSN,
                                "SQL Server","DSN=$dsn"));
-------
#*
#* creating logins on a Sybase server using DBI
#*

-------use DBI;

# USAGE: syaccreate <username>

$admin = 'sa';
print "Enter passwd for $admin: ";
chomp($pw = <STDIN>);
$user=$ARGV[0];

# generate a *bogus* password based on user name reversed 
# and padded to at least 6 chars with dashes
$genpass = reverse join('',reverse split(//,$user));
$genpass .= "-" x (6-length($genpass));

# here's a list of the SQL commands we will execute in order
# we: 1) create the database on the USER_DISK device, 
#        with the log on USER_LOG
#     2) add a login to the server for the user, 
#        making the new database the default
#     3) switch to the newly created database
#     4) change its owner to be this user
@commands = ("create database $user on USER_DISK=5 log on USER_LOG=5",
             "sp_addlogin $user,\"$genpass\",$user",
             "use $user",
             "sp_changedbowner $user");

# connect to the server 
$dbh = DBI->connect('dbi:Sybase:',$admin,$pw);
die "Unable to connect: $DBI::errstr\n" 
  unless (defined $dbh);

# loop over the command array, execute each command in turn
for (@commands) {
    $dbh->do($_) or die "Unable to $_: " . $dbh->errstr . "\n";
}

$dbh->disconnect;

#*
#* deleting logins on a Sybase server using DBI
#*

use DBI;

# USAGE: syacdelete <username>

$admin = 'sa';
print "Enter passwd for $admin: ";
chomp($pw = <STDIN>);
$user=$ARGV[0];

# here's a list of the SQL commands we will execute in order
# we: drop the user's database
#     drop the user's server login
@commands = ("drop database $user",
            "sp_droplogin $user");

# connect to the server
$dbh = DBI->connect('dbi:Sybase:',$admin,$pw);
die "Unable to connect: $DBI::errstr\n" 
  unless(defined $dbh);

# loop over the command array, execute each command in turn 
for (@commands) {
    $dbh->do($_) or die "Unable to $_: " . $dbh->errstr . "\n";
}

$dbh->disconnect or
  warn "Unable to disconnect: " . $dbh->errstr . "\n";
-------
#*
#* monitoring space usage on a Sybase server using DBI
#*

use DBI;

$admin = 'sa';
print "Enter passwd for $admin: ";
chomp($pw = <STDIN>);
$pages = 2; # data is stored in 2k pages

# connect to the server
$dbh = DBI->connect('dbi:Sybase:',$admin,$pw);
die "Unable to connect: $DBI::errstr\n" 
  unless (defined $dbh);

# get the name of the databases on the server
$sth = $dbh->prepare(q{SELECT name from sysdatabases}) or
  die "Unable to prepare sysdatabases query: ".$dbh->errstr."\n";
$sth->execute or
  die "Unable to execute sysdatabases query: ".$dbh->errstr."\n";

while ($aref = $sth->fetchrow_arrayref) {
    push(@dbs, $aref->[0]);
}
$sth->finish;

# retrieve stats for each of the databases
foreach $db (@dbs) {
    
    # get and total the size column from all non-log segments
    $size    = &querysum(qq{SELECT size FROM master.dbo.sysusages 
                           WHERE  dbid = db_id(\'$db\') 
                           AND    segmap != 4});
    # get and total the size column for the log segment
    $logsize = &querysum(qq{SELECT size FROM master.dbo.sysusages
                           WHERE  dbid = db_id(\'$db\') 
                           AND    segmap = 4});		      

    # change to the database and retrieve usage stats
    $dbh->do(q{use $db}) or
      die "Unable to change to $db: ".$dbh->errstr."\n";

    # we used the reserved_pgs function to return the number of pages
    # used by both the data (doampg) and index (ioampg) part 
    # of the database
    $used=&querysum(q{SELECT reserved_pgs(id,doampg)+reserved_pgs(id,ioampg) 
                     FROM sysindexes 
                     WHERE id != 8});

    # same, except this time we look at the log usage
    $logused=&querysum(q{SELECT reserved_pgs(id, doampg) 
                        FROM sysindexes 
                        WHERE id=8});
    
    # show this information graphically
    &graph($db,$size,$logsize,$used,$logused);
}
$dbh->disconnect;

# prepare/exec a given single-column SELECT query, return 
# the sum of the results
sub querysum {
    my($query) = shift;
    my($sth,$aref,$sum);

    $sth = $dbh->prepare($query) or
      die "Unable to prepare $query: ".$dbh->errstr."\n";
    $sth->execute or 
      die "Unable to exec $query: ".$dbh->errstr."\n";

    while ($aref=$sth->fetchrow_arrayref) {
        $sum += $aref->[0];
    }
    $sth->finish;

    $sum;
}

# print out nice chart given database name, size, log size, 
# and usage info
sub graph {
    my($dbname,$size,$logsize,$used,$logused) = @_;

    # line for data space usage
    print ' 'x15 . '|'.'d'x (50 *($used/$size)) .
          ' 'x (50-(50*($used/$size))) . '|';

    # percentage used and total M for data space
    printf("%.2f",($used/$size*100));
    print "%/". (($size * $pages)/1024)."MB\n";
    print $dbname.'-'x(14-length($dbname)).'-|'.(' 'x 49)."|\n";

    if (defined $logsize) { # line for log space usage  
        print ' 'x15 . '|' . 'l'x (50 *($logused/$logsize)) .
	      ' 'x (50-(50*($logused/$logsize))) . '|';
        # percentage used and total M for log space
        printf("%.2f",($logused/$logsize*100));
	print "%/". (($logsize * $pages)/1024)."MB\n";
    }
    else { # some databases do not have separate log space
	print ' 'x15 . "|- no log".(' 'x 41)."|\n";
    }
    print "\n";
}
-------
#*
#* show minute-by-minute status of both a Sybase and an MS-SQL server using DBI
#*

use DBI;

$syadmin = "sa";
print "Sybase admin passwd: ";
chomp($sypw = <STDIN>);

$msadmin = "sa";
print "MS-SQL admin passwd: ";
chomp($mspw = <STDIN>);

# connect to Sybase server
$sydbh = DBI->connect("dbi:Sybase:server=SYBASE",$syadmin,$sypw);
die "Unable to connect to sybase server: $DBI::errstr\n" 
  unless (defined $sydbh);
# turn on the ChopBlanks option to remove trailing whitespace in columns
$sydbh->{ChopBlanks} = 1;

# connect to MS-SQL server (handy that we can use DBD::Sybase for this!)
$msdbh = DBI->connect("dbi:Sybase:server=MSSQL",$msadmin,$mspw);
die "Unable to connect to mssql server: $DBI::errstr\n" 
  unless (defined $msdbh);
# turn on the ChopBlanks option to remove trailing whitespace in columns 
$msdbh->{ChopBlanks} = 1;

$|=1; # turn off STDOUT IO buffering

# initialize the signal handler so we can cleanup nicely
$SIG{INT} = sub {$byebye = 1;};

# infinitely loop unless our interrupt flag has been set
while (1) {
    last if ($byebye);
    
    # run the stored procedure sp_monitor
    $systh = $sydbh->prepare(q{sp_monitor}) or
      die "Unable to prepare sy sp_monitor:".$sydbh->errstr."\n";
    $systh->execute or 
      die "Unable to execute sy sp_monitor:".$sydbh->errstr."\n";
    # loop to retrieve the lines from the output we need. 
    # We know we have all of it when we see the cpu_busy information
    while($href = $systh->fetchrow_hashref or 
          $systh->{syb_more_results}) {
	# got what we needed, stop asking
	last if (defined $href->{cpu_busy}); 
    }
    $systh->finish;
    
    # substitute out everything but the % number from 
    # the values we receive 
    for (keys %{$href}) {
	$href->{$_} =~ s/.*-(\d+%)/\1/;
    }

    # collect all the data we need into a single line
    $info = "Sybase: (".$href->{cpu_busy}." CPU), ".
                    "(".$href->{io_busy}." IO), ".
                    "(".$href->{idle}." idle)   ";

    # ok, now let's do it all over again for the second server (MS-SQL)
    $mssth = $msdbh->prepare(q{sp_monitor}) or
      die "Unable to prepare ms sp_monitor:".$msdbh->errstr."\n";
    $mssth->execute or
      die "Unable to execute ms sp_monitor:".$msdbh->errstr."\n";
    while($href = $mssth->fetchrow_hashref or 
	  $mssth->{syb_more_results}) {
	# got what we needed, stop asking
	last if (defined $href->{cpu_busy}); 
    }
    $mssth->finish;

    # substitute out everything but the % number from 
    # the values we receive
    for (keys %{$href}) {	
	$href->{$_} =~ s/.*-(\d+%)/\1/;
    }

    $info .= "MSSQL: (" . $href->{'cpu_busy'}." CPU), ".
                    "(".$href->{'io_busy'}." IO), ".
                    "(".$href->{'idle'}." idle)";
    print " "x78,"\r";
    print $info,"\r";
    
    sleep(5) unless ($byebye);
}

# only end up here if we've broken out of the loop thanks to an interrupt
$sydbh->disconnect;
$msdbh->disconnect;  

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
粉嫩一区二区三区在线看| 亚洲色图制服诱惑 | 亚洲国产精品久久一线不卡| 91美女视频网站| 亚洲一区二区三区在线看| 欧美群妇大交群的观看方式| 免费成人av资源网| 久久久亚洲精品一区二区三区| 国产黄色精品网站| 亚洲精品一二三四区| 欧美日韩综合在线| 国产一区二区三区综合| 日韩码欧中文字| 91精品福利在线一区二区三区| 韩国精品主播一区二区在线观看| 国产精品乱人伦| 欧美高清视频一二三区 | 久久久精品人体av艺术| 91免费观看在线| 天堂成人国产精品一区| 国产欧美一区二区三区在线看蜜臀 | 91同城在线观看| 亚洲va韩国va欧美va精品| www亚洲一区| 在线视频观看一区| 韩国女主播成人在线观看| 亚洲欧美激情在线| 欧美成人三级电影在线| 99久久精品免费精品国产| 青娱乐精品视频在线| 国产精品免费看片| 欧美一区中文字幕| 91在线视频播放| 麻豆传媒一区二区三区| 亚洲欧洲另类国产综合| 欧美一级一级性生活免费录像| 成人丝袜视频网| 奇米精品一区二区三区在线观看 | 欧美日韩午夜在线| 国产成人免费高清| 青青草视频一区| 亚洲精品福利视频网站| 精品国产91洋老外米糕| 欧洲精品视频在线观看| 国产黄人亚洲片| 免费成人性网站| 亚洲风情在线资源站| 国产精品免费视频观看| 久久先锋影音av| 日韩午夜在线播放| 欧美日韩国产一级二级| 91捆绑美女网站| 成人深夜福利app| 国产呦精品一区二区三区网站| 视频一区二区中文字幕| 一区二区三区中文字幕电影| 国产精品成人在线观看| 国产人妖乱国产精品人妖| 精品日韩一区二区三区| 在线播放/欧美激情| 在线观看日韩毛片| 色素色在线综合| 一本久久a久久免费精品不卡| 国产成人精品综合在线观看| 精品无人区卡一卡二卡三乱码免费卡| 亚洲第一精品在线| 亚洲一区二区三区自拍| 亚洲狠狠丁香婷婷综合久久久| 亚洲欧美日韩久久| 日韩毛片一二三区| 亚洲婷婷国产精品电影人久久| 国产精品污www在线观看| 国产亚洲婷婷免费| 日本一区二区在线不卡| 久久精品人人爽人人爽| 欧美国产成人精品| 国产精品人妖ts系列视频| 国产精品视频你懂的| 国产精品二区一区二区aⅴ污介绍| 中日韩av电影| 亚洲精品高清在线| 亚洲国产精品久久久久秋霞影院| 亚洲成在人线免费| 日本在线不卡一区| 精品亚洲国内自在自线福利| 国产精品一卡二卡在线观看| 成人一道本在线| 91啪亚洲精品| 欧美久久久久久久久久| 91麻豆精品91久久久久久清纯| 日韩亚洲电影在线| 国产亚洲美州欧州综合国| 国产精品麻豆视频| 亚洲大片在线观看| 国产一区二区在线观看视频| 成人小视频免费在线观看| 91美女精品福利| 91精品国产综合久久精品| 久久久久久久久岛国免费| 国产拍欧美日韩视频二区| 伊人夜夜躁av伊人久久| 日本不卡在线视频| 国产福利一区在线| 在线免费观看日本一区| 欧美日韩午夜在线视频| 久久久久久久久免费| 亚洲人成网站精品片在线观看| 亚洲电影一级片| 国产美女精品在线| 在线观看中文字幕不卡| 精品国产乱码久久久久久闺蜜| 国产精品麻豆久久久| 视频一区二区中文字幕| 成人精品国产福利| 欧美美女一区二区| 亚洲国产精品精华液ab| 性久久久久久久| 成人综合激情网| 91精品国产综合久久国产大片 | 欧美亚洲综合网| 精品盗摄一区二区三区| 有码一区二区三区| 国产高清一区日本| 欧美一区二区三区四区久久| 国产精品美女久久福利网站| 视频一区中文字幕| 91浏览器在线视频| 国产视频一区二区三区在线观看| 亚洲一区在线观看视频| 盗摄精品av一区二区三区| 91精品国产综合久久小美女| 一色屋精品亚洲香蕉网站| 激情综合色播五月| 欧美影片第一页| 综合久久国产九一剧情麻豆| 精品无码三级在线观看视频 | 一本在线高清不卡dvd| www国产精品av| 日韩成人dvd| 在线观看欧美黄色| 综合久久一区二区三区| 国产成人在线视频网站| 欧美电视剧在线观看完整版| 午夜av电影一区| 色哟哟亚洲精品| 亚洲视频免费看| 夫妻av一区二区| 国产欧美中文在线| 国产一区二区中文字幕| 日韩免费一区二区| 秋霞成人午夜伦在线观看| 欧美男人的天堂一二区| 亚洲一区二区欧美| 欧美亚洲图片小说| 亚洲女性喷水在线观看一区| 成人av网站大全| 国产欧美日韩不卡| 成人免费av网站| 国产欧美精品区一区二区三区 | 亚洲天天做日日做天天谢日日欢 | 国产福利一区二区三区视频| 精品国产成人系列| 另类的小说在线视频另类成人小视频在线| 欧美日韩黄色影视| 青青草精品视频| 精品久久久三级丝袜| 麻豆精品久久精品色综合| 精品欧美乱码久久久久久1区2区| 美腿丝袜亚洲综合| 2023国产一二三区日本精品2022| 激情综合色综合久久| 国产三级欧美三级日产三级99| 国产精品一区在线观看你懂的| 久久综合色鬼综合色| 国产精品1区2区| 国产精品嫩草影院com| 91免费国产视频网站| 亚洲国产精品尤物yw在线观看| 在线不卡一区二区| 久久国产精品免费| 欧美经典一区二区| 91国在线观看| 日本三级韩国三级欧美三级| 精品国产一区二区三区久久影院| 国产毛片精品国产一区二区三区| 久久精品免费在线观看| aaa国产一区| 亚洲一区二区四区蜜桃| 日韩免费性生活视频播放| 丰满白嫩尤物一区二区| 夜夜爽夜夜爽精品视频| 欧美一区二区日韩一区二区| 美女视频免费一区| 久久久久国产精品人| 一本一本大道香蕉久在线精品 | 亚洲精品欧美综合四区| 欧美一级片在线| 成人精品一区二区三区四区| 亚洲综合在线视频| 久久综合色综合88|