#
壓縮日志及數(shù)據(jù)庫(kù)文件大小
/*--特別注意
請(qǐng)按步驟進(jìn)行,未進(jìn)行前面的步驟,請(qǐng)不要做后面的步驟
否則可能損壞你的數(shù)據(jù)庫(kù).
一般不建議做第4,6兩步
第4步不安全,有可能損壞數(shù)據(jù)庫(kù)或丟失數(shù)據(jù)
第6步如果日志達(dá)到上限,則以后的數(shù)據(jù)庫(kù)處理會(huì)失敗,在清理日志后才能恢復(fù).
--*/
--下面的所有庫(kù)名都指你要處理的數(shù)據(jù)庫(kù)的庫(kù)名
1.清空日志
DUMP TRANSACTION 庫(kù)名 WITH NO_LOG
2.截?cái)嗍聞?wù)日志:
BACKUP LOG 庫(kù)名 WITH NO_LOG
3.收縮數(shù)據(jù)庫(kù)文件(如果不壓縮,數(shù)據(jù)庫(kù)的文件不會(huì)減小
企業(yè)管理器--右鍵你要壓縮的數(shù)據(jù)庫(kù)--所有任務(wù)--收縮數(shù)據(jù)庫(kù)--收縮文件
--選擇日志文件--在收縮方式里選擇收縮至XXM,這里會(huì)給出一個(gè)允許收縮到的最小M數(shù),直接輸入這個(gè)數(shù),確定就可以了
--選擇數(shù)據(jù)文件--在收縮方式里選擇收縮至XXM,這里會(huì)給出一個(gè)允許收縮到的最小M數(shù),直接輸入這個(gè)數(shù),確定就可以了
也可以用SQL語(yǔ)句來完成
--收縮數(shù)據(jù)庫(kù)
DBCC SHRINKDATABASE(庫(kù)名)
--收縮指定數(shù)據(jù)文件,1是文件號(hào),可以通過這個(gè)語(yǔ)句查詢到:select * from sysfiles
DBCC SHRINKFILE(1)
4.為了最大化的縮小日志文件(如果是sql 7.0,這步只能在查詢分析器中進(jìn)行)
a.分離數(shù)據(jù)庫(kù):
企業(yè)管理器--服務(wù)器--數(shù)據(jù)庫(kù)--右鍵--分離數(shù)據(jù)庫(kù)
b.在我的電腦中刪除LOG文件
c.附加數(shù)據(jù)庫(kù):
企業(yè)管理器--服務(wù)器--數(shù)據(jù)庫(kù)--右鍵--附加數(shù)據(jù)庫(kù)
此法將生成新的LOG,大小只有500多K
或用代碼:
下面的示例分離 pubs,然后將 pubs 中的一個(gè)文件附加到當(dāng)前服務(wù)器。
a.分離
EXEC sp_detach_db @dbname = '庫(kù)名 '
b.刪除日志文件
c.再附加
EXEC sp_attach_single_file_db @dbname = '庫(kù)名 ',
@physname = 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\庫(kù)名.mdf '
5.為了以后能自動(dòng)收縮,做如下設(shè)置:
企業(yè)管理器--服務(wù)器--右鍵數(shù)據(jù)庫(kù)--屬性--選項(xiàng)--選擇 "自動(dòng)收縮 "
--SQL語(yǔ)句設(shè)置方式:
EXEC sp_dboption '庫(kù)名 ', 'autoshrink ', 'TRUE '
6.如果想以后不讓它日志增長(zhǎng)得太大
企業(yè)管理器--服務(wù)器--右鍵數(shù)據(jù)庫(kù)--屬性--事務(wù)日志
--將文件增長(zhǎng)限制為xM(x是你允許的最大數(shù)據(jù)文件大小)
--SQL語(yǔ)句的設(shè)置方式:
alter database 庫(kù)名 modify file(name=邏輯文件名,maxsize=20)
轉(zhuǎn)自:hero_213的博客
啟動(dòng)多個(gè)JBoss后,shutdown指定的jboss 2009-01-06 11:47
礙於公司的成本問題,一臺(tái)測(cè)試機(jī)上竟然掛上正式系統(tǒng)在跑?!別納悶,連 Sand 聽了都覺得訝異!
測(cè)試系統(tǒng)不時(shí)地都會(huì)需要重起 server 的,但是現(xiàn)在這樣害 Sand 測(cè)試時(shí)都得在下班時(shí)間才能重起 JBoss server,哪可能每天都這樣等下班啊?也還好這臺(tái)機(jī)器 ram 夠大了,所以就在成本因素之下,就在那臺(tái)機(jī)器上架起另一 JBoss server 來專心地 Sand 測(cè)試吧。
一臺(tái)伺服器中裝兩個(gè) JBoss server 是應(yīng)該都沒啥問題,頭大的是在 shutdown 時(shí),一般都是下 ./shutdown.sh -S 便可以關(guān)閉 JBoss server 了,但是如果該伺服器中有兩個(gè) jboss,這樣下可能就不確定那一個(gè) JBoss 被關(guān)閉了,一般都是先開起來的那個(gè)會(huì)先被關(guān)閉吧。
怎指定所要關(guān)閉的 JBoss 呢?
- step 1. 修改 conf/jboss-service.xml 之中的 port(Sand 改成 1199):
1199
- step 2. 要 shutdown 就不能夠在用 shutdown.sh -S 唷!改用 ./shutdown.sh -s jnp://localhost:1199 就可以關(guān)閉指定的 jboss server 了,建議寫一個(gè) stop.sh 檔放剛剛說的內(nèi)容,以後要 shutdown 該 JBoss 就呼叫 stop.sh 即可囉。
這樣一來就可以盡情地測(cè)試系統(tǒng)了,不再擔(dān)心正式系統(tǒng)的運(yùn)作被中斷了
Could not locate d:\j2sdk1.4.2\lib;\lib\tools.jar. Unexpected results may o
Make sure that JAVA_HOME points to a JDK and not a JRE.
===========================================================================
.
JBoss Bootstrap Environment
.
JBOSS_HOME: D:\jboss_tomcat\bin\\..
.
JAVA: d:\j2sdk1.4.2\lib;\bin\java
.
JAVA_OPTS: -Dprogram.name=run.bat
.
CLASSPATH: ;d:\j2sdk1.4.2\lib;\lib\tools.jar;D:\jboss_tomcat\bin\\run.jar
.
===========================================================================
.
系統(tǒng)找不到指定的路徑。
請(qǐng)按任意鍵繼續(xù) . . .
JAVA_HOME: d:\j2sdk1.4.2
只能是這個(gè),而不是設(shè)置的java_home C:\jdk;.;c:\jdk\bin;
要是你java裝在c:\jdk下,那么JAVA_HOME就是c:\jdk
--將表數(shù)據(jù)生成SQL腳本的存儲(chǔ)過程
CREATE PROCEDURE dbo.UspOutputData
@tablename sysname
AS
declare @column varchar(1000)
declare @columndata varchar(1000)
declare @sql varchar(4000)
declare @xtype tinyint
declare @name sysname
declare @objectId int
declare @objectname sysname
declare @ident int
set nocount on
set @objectId=object_id(@tablename)
if @objectId is null -- 判斷對(duì)象是否存在
begin
print 'The object not exists'
return
end
set @objectname=rtrim(object_name(@objectId))
if @objectname is null or charindex(@objectname,@tablename)=0 --此判斷不嚴(yán)密
begin
print 'object not in current database'
return
end
if OBJECTPROPERTY(@objectId,'IsTable') < > 1 -- 判斷對(duì)象是否是table
begin
print 'The object is not table'
return
end
select @ident=status&0x80 from syscolumns where id=@objectid and status&0x80=0x80
if @ident is not null
print 'SET IDENTITY_INSERT '+@TableName+' ON'
declare syscolumns_cursor cursor
for select c.name,c.xtype from syscolumns c where c.id=@objectid order by c.colid
open syscolumns_cursor
set @column=''
set @columndata=''
fetch next from syscolumns_cursor into @name,@xtype
while @@fetch_status < >-1
begin
if @@fetch_status < >-2
begin
if @xtype not in(189,34,35,99,98) --timestamp不需處理,image,text,ntext,sql_variant 暫時(shí)不處理
begin
set @column=@column+case when len(@column)=0 then'' else ','end+@name
set @columndata=@columndata+case when len(@columndata)=0 then '' else ','','','
end
+case when @xtype in(167,175) then '''''''''+'+@name+'+''''''''' --varchar,char
when @xtype in(231,239) then '''N''''''+'+@name+'+''''''''' --nvarchar,nchar
when @xtype=61 then '''''''''+convert(char(23),'+@name+',121)+''''''''' --datetime
when @xtype=58 then '''''''''+convert(char(16),'+@name+',120)+''''''''' --smalldatetime
when @xtype=36 then '''''''''+convert(char(36),'+@name+')+''''''''' --uniqueidentifier
else @name end
end
end
fetch next from syscolumns_cursor into @name,@xtype
end
close syscolumns_cursor
deallocate syscolumns_cursor
set @sql='set nocount on select ''insert '+@tablename+'('+@column+') values(''as ''--'','+@columndata+','')'' from '+@tablename
print '--'+@sql
exec(@sql)
if @ident is not null
print 'SET IDENTITY_INSERT '+@TableName+' OFF'
GO
excel合計(jì)時(shí),用sum計(jì)算時(shí),以每個(gè)單元格計(jì)數(shù),合并單元格合并個(gè)數(shù)為幾,那么sum就計(jì)算幾次!
<HTML>
<HEAD>
<title>WEB頁(yè)面導(dǎo)出為EXCEL文檔的方法
</title>
</HEAD>
<body>
<BR>
<table id = "PrintA" width="100%" border="1" cellspacing="0" cellpadding="0" bgcolor = "#61FF13">
<TR style="text-align : center;">
<TD>單元格A</TD>
<TD>單元格A</TD>
<TD>單元格A</TD>
<TD>單元格A</TD>
</TR>
<TR>
<TD colSpan=4 style="text-align : center;"><font color="BLUE" face="Verdana">單元格合并行A</FONT></TD>
</TR>
</TABLE>
<BR>
<table id = "PrintB" width="100%" border="1" cellspacing="0" cellpadding="0">
<TR style="text-align : center;">
<TD>單元格B</TD>
<TD>單元格B</TD>
<TD>單元格B</TD>
<TD>單元格B</TD>
</TR>
<TR>
<TD colSpan=4 style="text-align : center;">單元格合并行B</TD>
</TR>
</TABLE>
<br><br><br>
<input type="button" onclick="javascript:AllAreaWord();" value="導(dǎo)出頁(yè)面指定區(qū)域內(nèi)容到Word">
<input type="button" onclick="javascript:AllAreaExcel();" value="導(dǎo)出頁(yè)面指定區(qū)域內(nèi)容到Excel">
<input type="button" onclick="javascript:CellAreaExcel();" value="導(dǎo)出表單單元格內(nèi)容到Excel">
<SCRIPT LANGUAGE="javascript">
//指定頁(yè)面區(qū)域內(nèi)容導(dǎo)入Excel
function AllAreaExcel()
{
var oXL = new ActiveXObject("Excel.Application");
var oWB = oXL.Workbooks.Add();
var oSheet = oWB.ActiveSheet;
var sel=document.body.createTextRange();
sel.moveToElementText(PrintA);
sel.select();
sel.execCommand("Copy");
oSheet.Paste();
oXL.Visible = true;
}
//指定頁(yè)面區(qū)域“單元格”內(nèi)容導(dǎo)入Excel
function CellAreaExcel()
{
var oXL = new ActiveXObject("Excel.Application");
var oWB = oXL.Workbooks.Add();
var oSheet = oWB.ActiveSheet;
var Lenr = PrintA.rows.length;
for (i=0;i<Lenr;i++)
{
var Lenc = PrintA.rows(i).cells.length;
for (j=0;j<Lenc;j++)
{
oSheet.Cells(i+1,j+1).value = PrintA.rows(i).cells(j).innerText;
}
}
oXL.Visible = true;
}
//指定頁(yè)面區(qū)域內(nèi)容導(dǎo)入Word
function AllAreaWord()
{
var oWD = new ActiveXObject("Word.Application");
var oDC = oWD.Documents.Add("",0,1);
var oRange =oDC.Range(0,1);
var sel = document.body.createTextRange();
sel.moveToElementText(PrintA);
sel.select();
sel.execCommand("Copy");
oRange.Paste();
oWD.Application.Visible = true;
//window.close();
}
</SCRIPT>
</body></html>
-
資料引用:http://www.knowsky.com/302647.html
1,有如下表格,我們要取第2行第2列的值
<table id="table1">
<tr>
<td>1行1列</td>
<td>1行2列</td>
</tr>
<tr>
<td>2行1列</td>
<td>2行2列</td>
</tr>
</table>
2,取值方法
var value==window.table1.rows.item(0).cells.item(0).innerText;
注意:行號(hào),列號(hào)是從 0 開始的
例如 var value =window.table1.rows.item(1).cells.item(1).innerText;
這就取到了第2行第2列的值
3.改進(jìn)方法
上面的方法,需要知道行號(hào),實(shí)踐中是不方便獲得的,下面是改進(jìn)的方法
<script language="javascript">
var str;
</script>
<table >
<tr onMouseDown="str=this.cells.item(0).innerText">
<td>1行1列</td>
<td>1行2列</td>
</tr>
<tr onMouseDown="str=this.cells.item(0).innerText">
<td>2行1列</td>
<td>2行2列</td>
</tr>
</table>
當(dāng)鼠標(biāo)按下時(shí),我們就取到了該行第1列的值
<td onMouseDown="str=this.innerText">2行1列</td>
這可以取鼠標(biāo)所在列的值
--阿拉伯?dāng)?shù)字轉(zhuǎn)中文大寫數(shù)字
Create function dbo.NToCC(@n int)
returns varchar(2)
as
begin
declare @s varchar(2)
if @n=0
set @s='零'
if @n=1
set @s='壹'
if @n=2
set @s='貳'
if @n=3
set @s='叁'
if @n=4
set @s='肆'
if @n=5
set @s='伍'
if @n=6
set @s='陸'
if @n=7
set @s='柒'
if @n=8
set @s='捌'
if @n=9
set @s='玖'
return @s
end
go
--可支持到上億
alter function dbo.numbertoChineseBigString(@m money)
returns varchar(255)
begin
declare @i varchar(255)
declare @f varchar(255)
declare @r varchar(255)
declare @s varchar(255)
set @s=convert(varchar(255),@m)
if charindex('.',@s)>0
begin
set @i=substring(@s,1,charindex('.',@s)-1)
set @f=substring(@s,charindex('.',@s)+1,len(@s))
end
else
set @i=@s
set @r=''
declare @k int
set @k=len(@i)
while @k>=1
begin
--最多9位
if @k=9
set @r=@r+
dbo.NToCC(convert(int,substring(REVERSE(@i),@k,1)))
--@i
+'億'
if @k=8
set @r=@r+dbo.NToCC(convert(int,substring(REVERSE(@i),@k,1)))+'仟'
if @k=7
set @r=@r+dbo.NToCC(convert(int,substring(REVERSE(@i),@k,1)))+'佰'
if @k=6
set @r=@r+dbo.NToCC(convert(int,substring(REVERSE(@i),@k,1)))+'拾'
if @k=5
set @r=@r+dbo.NToCC(convert(int,substring(REVERSE(@i),@k,1)))+'萬(wàn)'
if @k=4
set @r=@r+dbo.NToCC(convert(int,substring(REVERSE(@i),@k,1)))+'仟'
if @k=3
set @r=@r+dbo.NToCC(convert(int,substring(REVERSE(@i),@k,1)))+'佰'
if @k=2
set @r=@r+dbo.NToCC(convert(int,substring(REVERSE(@i),@k,1)))+'拾'
if @k=1
set @r=@r+dbo.NToCC(convert(int,substring(REVERSE(@i),@k,1)))+'圓'
set @k=@k-1
end
if convert(float,@f)=0
set @r=@r+'整'
else
begin
if substring(@s,1,1)>''
set @r=@r+dbo.NToCC(convert(int,substring(@f,1,1)))+'角'
if substring(@s,2,1)>''
set @r=@r+dbo.NToCC(convert(int,substring(@f,2,1)))+'分'
end
set @r=replace(@r,'零仟零佰零拾','零')
set @r=replace(@r,'零佰零拾','零')
set @r=replace(@r,'零仟零佰','零')
set @r=replace(@r,'零拾','零')
set @r=replace(@r,'零仟','零')
set @r=replace(@r,'零佰','零')
set @r=replace(@r,'拾零萬(wàn)','拾萬(wàn)')
set @r=replace(@r,'零零圓整','圓整')
set @r=replace(@r,'零圓整','圓整')
set @r=replace(@r,'零零萬(wàn)圓整','萬(wàn)圓整')
return @r
end
請(qǐng)先確認(rèn)一下,點(diǎn)了打印按鈕以后,打印機(jī)隊(duì)列里是否有內(nèi)容,如果有,并且打印機(jī)走紙了,但是打印出來的是白紙,請(qǐng)?jiān)倏匆幌曼c(diǎn)了打印按鈕以后,彈出的打
印設(shè)置對(duì)話框里,右下角的“縮放比例”設(shè)置,正確的應(yīng)該是100。設(shè)置以后,保存為默認(rèn)的打印參數(shù)(在工具欄上打印機(jī)按鈕右面的下拉列表里設(shè)置);
如果打印隊(duì)列里沒有內(nèi)容,就是打印機(jī)驅(qū)動(dòng)的問題,需要換一個(gè)打印機(jī)驅(qū)動(dòng)。
構(gòu)造函數(shù)是和類同名的函數(shù),沒有返回類型,構(gòu)造函數(shù)不能在普通的程序里面調(diào)用,只有當(dāng)這個(gè)類被應(yīng)用new實(shí)例化的時(shí)候才會(huì)被運(yùn)行。構(gòu)造函數(shù)沒有返回類型,實(shí)際上,構(gòu)造函數(shù)返回的就是這個(gè)class本身。例如
[code]public class MyClass {
public MyClass() {
this(15);
System.out.println("constructor");
}
public MyClass(String s1) {
this(); //調(diào)用沒有參數(shù)的構(gòu)造函數(shù),從構(gòu)造函數(shù)中調(diào)用構(gòu)造函數(shù)只允許用this(), 而且只允許放在構(gòu)造函數(shù)的第一行
System.out.println(s1);
}
public MyClass(int i) {
System.out.println("finally comes here"+i);
}
public static void main(String[] args) {
//看看調(diào)用不同的構(gòu)造函數(shù)有什么區(qū)別。
MyClass mc = new MyClass();
MyClass mc1 = new MyClass("another test");
}
}[/code]