JBOSS 点滴

丰丰的博客

#

压缩日志及数据库文件大小

压缩日志及数据库文件大小

/*--特别注意

请按步骤进行,未进行前面的步骤,请不要做后面的步骤
否则可能损坏你的数据库.


一般不建议做第4,6两步
第4步不安全,有可能损坏数据库或丢失数据
第6步如果日志达到上限,则以后的数据库处理会失败,在清理日志后才能恢复.
--*/

--下面的所有库名都指你要处理的数据库的库名

1.清空日志
DUMP    TRANSACTION    库名    WITH    NO_LOG       

2.截断事务日志:
BACKUP  LOG  库名  WITH  NO_LOG

3.收缩数据库文件(如果不压缩,数据库的文件不会减小
企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件
--选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了
--选择数据文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了

也可以用SQL语句来完成
--收缩数据库
DBCC  SHRINKDATABASE(库名)

--收缩指定数据文件,1是文件号,可以通过这个语句查询到:select  *  from  sysfiles
DBCC  SHRINKFILE(1)

4.为了最大化的缩小日志文件(如果是sql  7.0,这步只能在查询分析器中进行)
a.分离数据库:
企业管理器--服务器--数据库--右键--分离数据库

b.在我的电脑中删除LOG文件

c.附加数据库:
企业管理器--服务器--数据库--右键--附加数据库

此法将生成新的LOG,大小只有500多K

或用代码: 
下面的示例分离  pubs,然后将  pubs  中的一个文件附加到当前服务器。

a.分离
EXEC  sp_detach_db  @dbname  =  '库名 '

b.删除日志文件

c.再附加
EXEC  sp_attach_single_file_db  @dbname  =  '库名 ', 
      @physname  =  'c:\Program  Files\Microsoft  SQL  Server\MSSQL\Data\库名.mdf '

5.为了以后能自动收缩,做如下设置:
企业管理器--服务器--右键数据库--属性--选项--选择 "自动收缩 "

--SQL语句设置方式:
EXEC  sp_dboption  '库名 ',  'autoshrink ',  'TRUE '

6.如果想以后不让它日志增长得太大
企业管理器--服务器--右键数据库--属性--事务日志
--将文件增长限制为xM(x是你允许的最大数据文件大小)

--SQL语句的设置方式:
alter  database  库名  modify  file(name=逻辑文件名,maxsize=20)

posted @ 2009-04-15 16:13 半导体 阅读(126) | 评论 (0)编辑 收藏

启动多个JBOSS后,shutdown指定的jboss

转自:hero_213的博客

启动多个JBoss后,shutdown指定的jboss 2009-01-06 11:47

分类:Jboss
字号:    

礙於公司的成本問題,一台測試機上竟然掛上正式系統在跑?!別納悶,連 Sand 聽了都覺得訝異!

測試系統不時地都會需要重起 server 的,但是現在這樣害 Sand 測試時都得在下班時間才能重起 JBoss server,哪可能每天都這樣等下班啊?也還好這台機器 ram 夠大了,所以就在成本因素之下,就在那台機器上架起另一 JBoss server 來專心地 Sand 測試吧。

一台伺服器中裝兩個 JBoss server 是應該都沒啥問題,頭大的是在 shutdown 時,一般都是下 ./shutdown.sh -S 便可以關閉 JBoss server 了,但是如果該伺服器中有兩個 jboss,這樣下可能就不確定那一個 JBoss 被關閉了,一般都是先開起來的那個會先被關閉吧。

怎指定所要關閉的 JBoss 呢?

  • step 1. 修改 conf/jboss-service.xml 之中的 port(Sand 改成 1199):
1199


  • step 2. 要 shutdown 就不能夠在用 shutdown.sh -S 唷!改用 ./shutdown.sh -s jnp://localhost:1199 就可以關閉指定的 jboss server 了,建議寫一個 stop.sh 檔放剛剛說的內容,以後要 shutdown 該 JBoss 就呼叫 stop.sh 即可囉。
這樣一來就可以盡情地測試系統了,不再擔心正式系統的運作被中斷了

posted @ 2009-04-14 17:26 半导体 阅读(1741) | 评论 (0)编辑 收藏

JAVA_home环境配置

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  
  .  
  ===========================================================================  
  .  
  系统找不到指定的路径。  
  请按任意键继续   .   .   .  
JAVA_HOME:   d:\j2sdk1.4.2  
  只能是这个,而不是设置的java_home     C:\jdk;.;c:\jdk\bin;  
  要是你java装在c:\jdk下,那么JAVA_HOME就是c:\jdk   


 

posted @ 2009-04-14 17:25 半导体 阅读(2227) | 评论 (1)编辑 收藏

将表数据生成SQL脚本的存储过程

--将表数据生成SQL脚本的存储过程

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 -- 判断对象是否存在
begin
print 'The object not exists'
return
end
set @objectname=rtrim(object_name(@objectId))

if @objectname is null or charindex(@objectname,@tablename)=0 --此判断不严密
begin
print 'object not in current database'
return
end

if OBJECTPROPERTY(@objectId,'IsTable') < > 1 -- 判断对象是否是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 暂时不处理

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

posted @ 2009-04-14 12:50 半导体 阅读(94) | 评论 (0)编辑 收藏

excel 合计(sum)小问题

      excel合计时,用sum计算时,以每个单元格计数,合并单元格合并个数为几,那么sum就计算几次!

posted @ 2009-04-13 13:52 半导体 阅读(346) | 评论 (0)编辑 收藏

WEB页面导出为EXCEL文档的方法

<HTML>
  <HEAD>
    <title>WEB页面导出为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="导出页面指定区域内容到Word">
<input type="button" onclick="javascript:AllAreaExcel();" value="导出页面指定区域内容到Excel">
<input type="button" onclick="javascript:CellAreaExcel();" value="导出表单单元格内容到Excel">
<SCRIPT LANGUAGE="javascript">
 //指定页面区域内容导入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;
 }
 //指定页面区域“单元格”内容导入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;
 }

 //指定页面区域内容导入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

posted @ 2009-03-28 14:19 半导体 阅读(302) | 评论 (0)编辑 收藏

转:javascript 取table中内容

 
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;
注意:行号,列号是从 0 开始的
  例如 var value =window.table1.rows.item(1).cells.item(1).innerText;
  这就取到了第2行第2列的值
3.改进方法
   上面的方法,需要知道行号,实践中是不方便获得的,下面是改进的方法
<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>
当鼠标按下时,我们就取到了该行第1列的值
<td onMouseDown="str=this.innerText">2行1列</td>  
这可以取鼠标所在列的值

posted @ 2009-03-28 13:39 半导体 阅读(185) | 评论 (0)编辑 收藏

人民币小写转为大写(网上找了很多资料,由于跟目前财务帐有些不同,所以我在不断更改中)

--阿拉伯数字转中文大写数字 
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)))+'万' 
 
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,'拾零万','拾万')
set @r=replace(@r,'零零圆整','圆整') 
set @r=replace(@r,'零圆整','圆整') 
set @r=replace(@r,'零零万圆整','万圆整')
return @r 
 
end  
 

posted @ 2009-03-26 10:41 半导体 阅读(176) | 评论 (0)编辑 收藏

打印机打出空白纸问题

请先确认一下,点了打印按钮以后,打印机队列里是否有内容,如果有,并且打印机走纸了,但是打印出来的是白纸,请再看一下点了打印按钮以后,弹出的打
印设置对话框里,右下角的“缩放比例”设置,正确的应该是100。设置以后,保存为默认的打印参数(在工具栏上打印机按钮右面的下拉列表里设置);
如果打印队列里没有内容,就是打印机驱动的问题,需要换一个打印机驱动。

posted @ 2009-03-24 14:18 半导体 阅读(1135) | 评论 (0)编辑 收藏

JAVA复习

构造函数是和类同名的函数,没有返回类型,构造函数不能在普通的程序里面调用,只有当这个类被应用new实例化的时候才会被运行。构造函数没有返回类型,实际上,构造函数返回的就是这个class本身。例如

[code]public class MyClass {

    public MyClass() {
        this(15);
        System.out.println("constructor");
    }

    public MyClass(String s1) {
        this(); //调用没有参数的构造函数,从构造函数中调用构造函数只允许用this(), 而且只允许放在构造函数的第一行
        System.out.println(s1);
    }

    public MyClass(int i) {
       System.out.println("finally comes here"+i);
    }

    public static void main(String[] args) {
        //看看调用不同的构造函数有什么区别。
        MyClass mc = new MyClass();
        MyClass mc1 = new MyClass("another test");
    }
}[/code]

posted @ 2009-03-12 22:06 半导体 阅读(121) | 评论 (0)编辑 收藏

仅列出标题
共27页: First 上一页 16 17 18 19 20 21 22 23 24 下一页 Last