JBOSS 點滴

          豐豐的博客

          #

          Velocity語法(VM)

            Velocity語法(VM)  
           

          1.     變量

          (1) 變量的定義 :

          #set($name = "hello")      說明:velocity中變量是弱類型的。

          當使用#set 指令時,括在雙引號中的字面字符串將解析和重新解釋,如下所示:

          #set($directoryRoot = "www" )

          #set($templateName = "index.vm" )

          #set($template = "$directoryRoot/$templateName" )

          $template

          輸出將會是: www/index.vm

          注: 在velocity中使用$2.5這樣的貨幣標識是沒有問題得的,因為velocity中的變量總是以一個大寫或者小寫的字母開始的。

          (2) 變量規范的寫法

          ${name} ,也可以寫成:$name。提倡用前面的寫法。

          例如:你希望通過一個變量$vice 來動態的組織一個字符串。

           Jack is a $vicemaniac.

          本來變量是 $vice現在卻變成了$vicemaniac,這樣Veloctiy就不知道您到底要什么了。所以,應該使用規范的格式書寫 : Jack is a ${vice}maniac
          現在Velocity知道變量是$vice而不是$vicemaniac。

          注意:當引用屬性的時候不能加{}

          (3) 變量的賦值: 

          $name="hello"

          賦值的左邊必須是一個變量或者是屬性引用。右邊可以是下面六種類型之一:

          變量引用,字面字符串,屬性引用,方法引用,字面數字,數組列表。

          下面的例子演示了上述的每種類型:

          #set( $monkey = $bill ) ## variable reference

          #set( $monkey.Friend = "monica" ) ## string

          #set( $monkey.Blame = $whitehouse.Leak ) ## property reference

          #set( $monkey.Plan = $spindoctor.weave($web) ) ## method reference

          #set( $monkey.Number = 123 ) ##number

          #set( $monkey.Say = ["Not", $my, "fault"] ) ## ArrayList

          注意: ①如果上述例子中的右值是null, 則左值不會被賦值,也就是說會保留以前的值。

          ②velocity模板中未被定義的變量將被認為是一個字符串。例如:

          #set($foo = "gibbous")
          $moon = $foo
          輸出結果為:
          $moon = gibbous

          ③ velocity 模板中不會將 reference 解釋為對象的實例變量。例如: $foo.Name 將被解釋為 Foo 對象的 getName ()方法,而不是 Foo 對象的 Name 實例變量。例如:

          $ foo.getBar()  等同于 $ foo.Bar ;

          $ data.getUser("jon") 等同于 $ data.User("jon") ;

          data.getRequest().getServerName() 等同于

          $ data.Request.ServerName 等同于 $ {data.Request.ServerName}

           

          2.     循環

          #foreach ($element in $list)
               This is $element.
               $velocityCount
          #end

          例子:

          #set( $list = ["pine", "oak", "maple"])

          #foreach ( $ element in  $ list)

          $velocityCount

          This is  $ element.<br>
          #end

          輸出的結果為:

          1 This is pine.
          2 This is oak.
          3 This is maple.

          每次循環 $list 中的一個值都會賦給 $element 變量。
          $list 可以是一個 Vector、 Hashtable 或者 Array 。分配給 $element 的值是一個 java 對象,并且可以通過變量被引用。例如:如果 $element t 是一個 java 的 Product 類,并且這個產品的名字可以通過調用他的 getName() 方法得到。

          #foreach ( $key in $list.keySet())
          Key: $key -> Value: $list.get($key) <br>
          #end

          提示 :velocity中大小寫敏感。

          Velocity還特別提供了得到循環次數的方法,$velocityCount變量的名字是Velocity默認的名字。

           

          例子:

          First example:
            #foreach ( $foo in [1..5] )
              $foo
            #end

            Second example:
            #foreach ( $bar in [2..-2] )
              $bar
            #end

            Third example:
            #set ( $arr = [0..1] )
            #foreach ( $i in $arr )
              $i
            #end
          上面三個例子的輸出結果為:
            First example :
            1 2 3 4 5

            Second example :
            2 1 0 -1 -2

            Third example :
            0 1

           

          3.     條件語句

          #if (condition)

          #elseif (condition)

          #else

          #end

          4.     語句的嵌套

              #foreach ($element in $list)

                 ## inner foreach 內循環

                 #foreach ($element in $list)

                 This is $element. $velocityCount < br > inner < br >

                 #end

                 ## inner foreach 內循環結束

              ## outer foreach

              This is $element.

              $velocityCount < br > outer < br >

              #end

          語句中也可以嵌套其他的語句,如#if…#else…#end等。

          5.       注釋
          (1)單行注釋:
            ## This is a single line comment.
          (2) 多行注釋:
            #*
             Thus begins a multi-line comment. Online visitors won’t
             see this text because the Velocity Templating Engine will
            ignore it.
            *#
          (3)文檔格式:
            #**
             This is a VTL comment block and
             may be used to store such information
            as the document author and versioning
             information:
             @version 1.1

             @author  xiao
               *#

          6.     關系和邏輯操作符

          Velocity 也具有邏輯AND, OR 和 NOT 操作符。

          ## example for AND

          #if($foo && $bar)

             <strong> This AND that</strong>

          #end

          例子中#if() 指令僅在$foo 和$bar 斗為真的時候才為真。如果$foo 為假,則表達式也為假;并且 $bar 將不被求值。如果 $foo 為真,Velocity 模板引擎將繼續檢查$bar的值,如果 $bar 為真,則整個表達式為真。并且輸出This AND that 。如果 $bar 為假,將沒有輸出因為整個表達式為假。

          7.Velocity 中的宏

          Velocity中的 宏我們可以理解為函數。

          ①宏的定義

          #macro(宏的名稱 $參數1 $參數2 …)

             語句體(即函數體)

          #end

          ②宏的調用

          #宏的名稱($參數1 $參數2 …)

              說明:參數之間用空格隔開。

          8. #stop

             停止執行模板引擎并返回,把它應用于debug是很有幫助的。

          9.#include 與#parse

          #include和#parse的作用 都是 引入本地文件, 為了安全的原因,被引入的本地文件只能在TEMPLATE_ROOT目錄下。

          區別:

          (1) 與#include不同的是,#parse只能指定單個對象。而#include可以有多個

          如果您需要引入多個文件,可以用逗號分隔就行:
          #include ( " one.gif " , " two.txt " , " three.htm " )
          在括號內可以是文件名,但是更多的時候是使用變量的:
          #include ( “greetings.txt”, $seasonalstock )

          (2) #include被引入文件的內容將不會通過模板引擎解析;

          而#parse 引入的文件內容 Velocity 將解析其中的 velocity 語法并移交給模板,意思就是說相當與把引入的文件 copy 到文件中。

          #parse是可以遞歸調用的,例如:如果dofoo.vm包含如下行:

          Count down.<br>

          #set ($count = 8)

          #parse ("parsefoo.vm")

          <br>All done with dofoo.vm!

          那么在parsefoo.vm模板中,你可以包含如下VTL:

          $count

          #set($count = $count - 1)

          #if ( $count > 0 )<br>

          #parse( "parsefoo.vm" )

          #else

          <br>All done with parsefoo.vm!

          #end 的顯示結果為:

          Count down.

          8

          7

          6

          5

          4

          3

          2

          1

          0

          All done with parsefoo.vm!

          All done with dofoo.vm!

          注意:在 vm中使用#parse來嵌套另外一個vm時的變量共享問題。如:
          ->a.vm 里嵌套 b.vm;
          ->a.vm 里定義了變量 $param;
          ->b.vm 里可以直接使用$param,無任何限制。
          但需要特別注意的是,如果b.vm里同時定義有變量$param,則b.vm里將使用b.vm里定義的值。

          10.轉義字符'\'的使用

          如果reference被定義,兩個’\’意味著輸出一個’\’,如果未被定義,剛按原樣輸出。如:

          #set($email = "foo" )

          $email

          \$email

          \\$email

          \\\$email

          輸出:

          foo
          $email
          \foo
          \$email

          如果 $email 未定義

          $email

          \$email

          \\$email

          \\\$email

          輸出:

          $email
          \$email
          \\$email
          \\$email

           

          11. 內置對象
          Velocity內置了一些對象,在vm模版里可以直接調用,列舉如下:
          $request、$response、$session,另外,模板內還可以使用 $msg內的消息工具訪問 Struts 的國際化資源,達到簡便實現國際化的方法。

          12. 數組訪問

          對數組的訪問在Velocity 中存在問題,因為Velocity只能訪問對象的方法,而數組又是一個特殊的Array,所以雖然數組可以進行循環列舉,但卻不能定位訪問特定位置的元素,如 strs[2],數組對固定位置元素的訪問調用了Array的反射方法get(Object array, int index),而Velocity沒能提供這樣的訪問,所以數組要么改成List等其他類容器的方式來包裝,要么就通過公用Util類的方式來提供,傳入數組對象和要訪問的位置參數,從而達到返回所需值的目的。

           

           

          示例部分

          1.Hello world的示例代碼:

          (1)Velocity模板 (hello.html)

          <!DOCTYPE HTML PUBLIC "-//W 3C //DTD HTML 4.0 Transitional//EN">

          <HTML>

          <HEAD>

          <TITLE> New Document </TITLE>

          </HEAD>

          <BODY>

              hello,$name!                 (注意:這里的name與VelocityTest.java中的名稱要一致)

          </BODY>

          </HTML>

          (2)將velocity模板的內容轉換的類(VelocityTest.java)

          import java.io.File;

          import java.io.FileOutputStream;

          import java.io.PrintWriter;

          import java.io.Writer;

          import org.apache.velocity.Template;

          import org.apache.velocity.VelocityContext;

          import org.apache.velocity.app.Velocity;

          import org.apache.velocity.app.VelocityEngine;

           

          /**

           * Velocity轉換

           * @author

           */

          public class VelocityTest

          {

              /**

               * 主函數

               * @param args

               */

              public static void main(String[] args)

           {

                //獲取模板引擎

                  VelocityEngine ve = new VelocityEngine();

                  //模板文件所在的路徑

                  String path = "D:/java/jproject/regedit/webroot";      

                  //設置參數

                  ve.setProperty(Velocity.FILE_RESOURCE_LOADER_PATH, path);

          //處理中文問題

                  ve.setProperty(Velocity.INPUT_ENCODING,"GBK");

                  ve.setProperty(Velocity.OUTPUT_ENCODING,"GBK");

                  try

                  {

                      //初始化模板

                      ve.init();

                      //獲取模板(hello.html)

          Velocity 模板的名稱
           
                      Template template = ve.getTemplate("hello.html");   

                      //獲取上下文

                      VelocityContext root = new VelocityContext();

                      //把數據填入上下文

                      root.put("name","world");                     (注意:與上面的對應)

          //輸出路徑

                      Strint outpath = "e:/helloworld.html";

                      //輸出

                      Writer mywriter = new PrintWriter(new FileOutputStream(

                          new File(outpath)));           

                      template.merge(root, mywriter);

                      mywriter.flush();          

                  }

                  catch (Exception e)

                  {

                      e.printStackTrace();

                  }

              }

          }

          (3)環境的搭建

          在lib目錄內分別copy 進:velocity-1.4.jar,velocity-dept.jar;

          下載地址:http://jakarta.apache.org/velocity/

          (4)運行后的結果如下:

          <!DOCTYPE HTML PUBLIC "-//W 3C //DTD HTML 4.0 Transitional//EN">

          <HTML>

          <HEAD>

          <TITLE> New Document </TITLE>

          </HEAD>

          <BODY>

          hello,world!

          </BODY>

          </HTML>

           

          2. Servlet和Velocity結合 示例

          (1)example.html

            <html>
            <head><title>Velocity</title></head>
            <body bgcolor="#ffffff">
              <center>
              <h2>Welcom to Velocity!</h2>
              <i>Here's the list of people</i>
              <table cellspacing="0" cellpadding="5" width="20%" >
              <tr>
              <td bgcolor="#eeeeee" align="center">
              Names:
              </td>
              </tr>
              #foreach ($name in $theList)
              <tr>
              <td bgcolor="#eeeeee" align="center">$name</td>
              </tr>
              #end
              </table>
              </center>
            </body>
          </html>

          (2)servlet

          package com.koal.velocity;

           

          import java.io.IOException;

          import java.io.FileNotFoundException;

          import java.util.ArrayList;

          import java.util.Properties;

          import java.util.Vector;

          import javax.servlet.ServletConfig;

          import javax.servlet.http.HttpServletRequest;

          import javax.servlet.http.HttpServletResponse;

          import org.apache.velocity.Template;

          import org.apache.velocity.context.Context;

          import org.apache.velocity.servlet.VelocityServlet;

          import org.apache.velocity.app.Velocity;

          import org.apache.velocity.exception.ResourceNotFoundException;

          import org.apache.velocity.exception.ParseErrorException;

           

          public class SampleServlet extends VelocityServlet 

          {

              /**

               *   由VelocityServlet.init()調用,

               *   在此找出模版的路徑

               */

              protected Properties loadConfiguration(ServletConfig config )

                  throws IOException, FileNotFoundException {

                  Properties p = new Properties();

                  //取得路徑

                  String path = config.getServletContext().getRealPath("/");

                  if (path == null)

                  {

                      System.out.println(" SampleServlet.loadConfiguration() : unable to "

                              + "get the current webapp root.  Using '/'. Please fix.");

                      path = "/";

                  }

                  //設置路徑

                  p.setProperty( Velocity.FILE_RESOURCE_LOADER_PATH, path);

                 

                  return p;

              }

           

              /**

               *  Velocity主要的商業邏輯處理方法,由VelocityServlet自動調用

               *  @param ctx 模板上下文            

               *  @return Template 模板信息

               */  

              public Template handleRequest( HttpServletRequest request,

                 HttpServletResponse response, Context ctx )

             {       

                  //主要在此設置演示用的數據,開發中在此調用相應的業務處理流程,

           

                  //并設置返回到頁面的數據

                  //待展示的列表數據
                  String p1 = "第一位:LiuDong";
                  String p2 = "第二位:Liang.xf";
                  Vector personList = new Vector();
                  //中文需要轉換
                  try {
                      personList.addElement(new String(p1.getBytes(), "ISO-8859-1") );
                      personList.addElement(new String(p2.getBytes(), "ISO-8859-1") );
                  } catch (Exception e) {
                      System.out.println("數據轉換異常:"+e);   
                  }
                  //設置數據,供頁面模版替換成顯示的數據
                  ctx.put("theList", personList );    

                  //定義模板       

                  Template outty = null;       

                  try

                  {

                      //取模板

                      outty =  getTemplate("example.html");           

                  }

                  catch( ParseErrorException pee )

                  {

                      System.out.println("SampleServlet: parse error for template " + pee);

                  }

                  catch( ResourceNotFoundException rnfe )

                  {

                      System.out.println("SampleServlet: template not found " + rnfe);

                  }

                  catch( Exception e )

                  {

                      System.out.println("Error " + e);

                  }

                 

                  return outty;

          }

           

          (3)在web.xml中的配置:

          <web-app>

          <servlet> 

                 <servlet-name>SampleServlet</servlet-name>

                 <servlet-class>com.koal. velocity .SampleServlet</servlet-class>

          </servlet>

              <servlet-mapping>

                 <servlet-name>SampleServlet</servlet-name>

                 <url-pattern>/SampleServlet</url-pattern>

          </servlet-mapping>

          </web-app>

           

          (4)環境的搭建

          在lib目錄內分別 copy進:commons-collections.jar , velocity- 1.4.jar,velocity-dept.jar;
              Tomcat運行環境正常。
              啟動Tomcat,在IE上輸入: http://localhost:8080/example ,頁面顯示數據列表:

           

          本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/mmm123lmj/archive/2009/11/19/4833620.aspx

          posted @ 2010-11-16 16:43 半導體 閱讀(11098) | 評論 (1)編輯 收藏

          oracle語法

          --增加字段
          alter table table_name add (col1 type,col2 type);


          ALTER TABLE TABLE_AAA ADD (STOCKMAN NUMBER(18))//添加一列

          COMMENT ON COLUMN TABLE_AAA.STOCKMAN IS '管理人員' //給列添加注釋
           
          ALTER TABLE TABLE_AAA ADD CONSTRAINT FK_TABLE_AAA_R_TABLE_BBB_S FOREIGN KEY (STOCKMAN) REFERENCES TABLE_BBB (ID)//給列添加外鍵


          --查看空間所有表
          set pause on --分頁

          select * from all_tables where tablespace_name=''

          --函數列表:
           row_number()  查看行號

          --在oracle查詢分析器中直接插入記錄:

             select * from 表名 for update ;

          posted @ 2010-11-03 10:11 半導體 閱讀(180) | 評論 (0)編輯 收藏

          WebService 客戶端代碼

               摘要: JDK1.4 --http 需要的包: 1、commons-httpclient-3.0.1.jar 2、commons-logging-1.1.jar 3、commons-codec-1.3.jar 程序: GetSample.java import java.io.*; import java.io.IOException; import&nbs...  閱讀全文

          posted @ 2010-10-21 09:00 半導體 閱讀(955) | 評論 (0)編輯 收藏

          sqlserver 將數據庫所有表名小寫字母轉換成大寫

          1,啟用對系統目錄的特殊更新
              打開“企業管理器”->右擊,選擇“屬性”->選擇“服務器設置”標簽->勾選"允許對系統目錄直接進行修改”
          2,運行命令
          EXEC sp_configure 'allow updates'
           RECONFIGURE WITH OVERRIDE
          go
          UPDATE sysobjects SET name=upper(name) WHERE type='U'
          go
          EXEC sp_configure 'allow updates',0 RECONFIGURE WITH OVERRIDE
          go

          posted @ 2010-10-12 09:43 半導體 閱讀(1036) | 評論 (0)編輯 收藏

          Eclipse,tomcat的JDK配置

                                               轉自:http://blog.sina.com.cn/s/blog_5673f78b0100c9pu.html
          最近在使用Eclipse時碰到一個問題,就是由于Eclipse和Tomcat使用的JDK不同,一般我們都會在機器上安裝最新版本的JDK,由于Eclipse中也有JDK,但是版本往往都是舊版本的,當時在一個Web Project下編譯運行代碼,沒有問題,后來在同一個Project下繼續寫了一個例子,但是由于這次寫的例子中使用了泛型,但是對于泛型的支持還是在比較新版本的JDK可以編譯過去,因此Eclipse自帶的JDK是提示錯誤,所以通過配置Eclipse和Tomcat默認使用相同的JDK,再重新編譯Project就沒問題了.

          1.Eclipse配置默認JDK

             通過Eclipse->Windows->Preference->Java->Installed JREs->add...將安裝的新版JDK(D:\Program Files\Java\jdk1.6.0_07)指定為Eclipse的默認JDK,再通過Eclipse->Windows->Preference->Java->compiler中將compiler compliance level 設置為6.0,至此Eclipse的JDK配置完成.

          2.在Eclipse中配置Tomcat服務器和Tomcat配置默認JDK

              目前我使用的是MyEclipse,所以配置默認Tomcat在Eclipse->Windows->Preference->MyEclipse Enterprise Workbench->Servers->Tomcat 6.x(目前安裝的是6.x版本),將Tomcat Server設置為Enable,在tomcat home directory點擊Browse..選擇Tomcat安裝目錄,展開...->Servers->Tomcat 6.x,選中JDK,點擊Tomcat JDK Home...后面Add...添加Tomcat使用的JDK,在JRE Name 中填寫jdk1.6.0(名字根據自己的習慣來定義),點擊Jre Home Directory后面Browse..選擇新版的JDK目錄(D:\Program Files\Java\jdk1.6.0_07),至此Tomcat配置默認JDK完成。

              配置Tomcat默認使用JDK的目錄也可以通過,在TOMCAT_HOME\bin\下面修改catalina.bat和setclasspath.bat文件:

              1、修改tomcat/bin/catalina.bat,增加 set JAVA_HOME=XXXXXX,其中XXXXXX為jdk 的路徑,如c:\j2sdk1_4

              2、修改tomcat/bin/setclasspath.bat,同樣增加 set JAVA_HOME=XXXXXX

          本人也由于JDK版本太多,所以這種辦法是相當可行!

          posted @ 2010-10-11 09:45 半導體 閱讀(1000) | 評論 (0)編輯 收藏

          webservice錯誤集錦

          在Eclipse中遇到The type XXX cannot be resolved. It is indirectly referenced from required .class files錯誤.....,查找的解決辦法如下:

          一:
          It is indirectly referenced from required .class file

          原因:你正要使用的類調用了另一個類,而這個類又調用了其他類,這種關系可能會有好多層。而在這個調用的過程中,某個類所在的包的缺失就會造成以上那個錯誤。

          解決方法:導入缺失的包

          二:
          The project was not built since its build path is incomplete. Cannot find the class file for java.lang.Object. Fix the build path then try building this project
          The type java.lang.Object cannot be resolved. It is indirectly referenced from required .class files

          出現以上訊息的原因是因為你裝了多個版本的jre或jdk的關係。本來Eclipse在建立專案時,會自動參照你的jre路徑,但多個版本就沒辦法了。
          你只能手動建立…
          1. 進入window\preferences\java\Installed JREs
          1)按Add
          2)輸入JRE Name, 例JDK1.5.0.03
          3)JRE home directory, 選擇安裝的路徑
          4)按OK
          2. 進入Project\properties\Java Bulid Path
          1)Add library
          2)選JRE System Library後按Next
          3)選workplace default JRE後按finish...

          三,the type org.apache.axiom.soap.SOAPEnvelope cannot be resolved,it is indirectly referenced from required .class files
              當自動生成webservice程序時報的錯誤,最終解決辦法為,把xis2_Codegen_Wizard_1.4.0\lib包全復制到build path下,問題全解決了.
          問題:An error occurred while completing process,java.lang.reflect.InvocationTargetException
                  當我用axis自動生成代碼時,最后一步報的錯,網上通常說的解決辦法是

          從AXIS2的LIB庫中復制"geronimo-stax-api_1.0_spec-1.0.1.jar"和"backport-util-concurrent-3.1.jar"文件到Codegen的lib目錄中,同時修改plugin.xml文件,添加

          <library name="lib/geronimo-stax-api_1.0_spec-1.0.1.jar">
                   <export name="*"/>
          </library>
          <library name="lib/backport-util-concurrent-3.1.jar">
                  <export name="*"/>
          </library>

          到plugin.xml文件中,保存后重新啟動Eclipse即可!


          但本人用這種辦法,怎么試也不行,本人用的JDK1.4,自動生成代碼插件為:Axis2_Codegen_Wizard_1.3.0
          所以怎么試也行不通,最后本來換了個.Axis2_Codegen_Wizard_1.4.0問題終于解決.也整了一天了!

          axis所需要的包:
          Axis2_Codegen_Service_1.4.0_plugins 代碼自動生成   新建工程時,記得把該文件夾下lib\.jar包全部導入.

          獲取XML
          JDOM1.0\build\jdom.jar   要加載到lib中
          記住,當你用JDK1.4時,所有的包都要下載后墜為1.4的包,不然會出些稀奇古怪的錯誤.

          webservice操作步驟:
          1,把Axis2_Codegen_Service_1.4.0_plugins拷貝到plugin下.
          2,打開eclipse,新建文件時選擇axis.
          3,選擇JWDL地址.
          4,生成代碼,
          5,調用:

               TaskServiceStub ts = new TaskServiceStub();
               TaskServiceStub.GetTaskList gt = new TaskServiceStub.GetTaskList();
               gt.setPassword(usercode);
               gt.setUsercode(password);
               String sxml = ts.GetTaskList(gt).getGetTaskListResult();
          四,java.net.SocketException: Software caused connection abort: socket write error
               at java.net.SocketOutputStream.socketWrite0(Native Method)
              at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
              at java.net.SocketOutputStream.write(SocketOutputStream.java:126)
          這個問題,我一直找不到答案,希望各位高手能告訴我.

          posted @ 2010-09-30 17:01 半導體 閱讀(468) | 評論 (0)編輯 收藏

          SQL SERVER 企業管理器 MMC 無法創建管理單元

          SQL SERVER 企業管理器 MMC 無法創建管理單元 收藏
          本人系統2003 server,安裝了SQL Server 2000 SP4,然后安裝了Microsoft SQL Server 2005。後因系統太慢,卸載SQL SERVER2005,結果在打開 SQLServer2000的 企業管理器,收到以下錯誤信息:MMC創建無法管理單元。到網上尋找了以后,解決方法如下:

          1. [開始]-->[運行] regedit   回車
          2. 找到以下注冊表子項:
          HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\80\Tools\ClientSetup
          3. 右鍵單擊 ClientSetup 注冊表子項, [新建]-->[字串值]。
          4. 重命名注冊表子項,創建 SqlPath , 然后按 Enter。
          5. 雙擊, SqlPath 注冊表子項, 然后鍵入“C:\Program Files\Microsoft SQL Server\80\Tools” 在數值數據框中。
          6. 單擊[確定],然后關閉注冊表編輯器。
          7.   [開始]-->[運行]   cmd,輸入 regsvr32 "C:\Program Files\Microsoft SQL Server\80\Tools\Binn\sqlmmc.dll"

          posted @ 2010-09-29 22:49 半導體 閱讀(1229) | 評論 (1)編輯 收藏

          oracle,刪除所有表

          1、

          select   'Drop   table   '||table_name||';'    
                  from   all_tables  
                  where   owner='要刪除的用戶名(注意要大寫)';  

          2、

          刪除所有表


          以用戶test為例

          for example:

          declare
          cursor cur1 is select table_name from dba_tables where owner='TEST';
          begin
            for cur2 in cur1 loop
              execute immediate 'drop table test.'||cur2.table_name;
            end loop;
          end;

          3、這個刪除當前用戶的所有對象(表、視圖、觸發器、存儲過程、函數)

              沒試過

          DECLARE
          TYPE name_list IS TABLE OF VARCHAR2(40);
          TYPE type_list IS TABLE OF VARCHAR2(20);

          Tab_name name_list:=name_list();
          Tab_type type_list:=type_list();

          sql_str VARCHAR2(500);
          BEGIN
          sql_str := 'select uo.object_name,uo.object_type from user_objects uo where uo.object_type not in(''INDEX'',''LOB'') order by uo.object_type desc';
          EXECUTE IMMEDIATE sql_str BULK COLLECT INTO tab_name,tab_type;

          FOR i IN Tab_name.FIRST.. Tab_name.LAST LOOP
          sql_str := 'DROP ' || Tab_type(i) || ' ' || Tab_name(i);
          EXECUTE IMMEDIATE sql_str;
          END LOOP;
          END;


          本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/wengyupeng/archive/2008/08/07/2781748.aspx


          以上方法本人試過,在sqlplus下最好用的刪除,還原方法是:
          把刪除表,寫成腳本:
            SET HEAD OFF

            SPOOL c:\drop_tables.sql

            select 'drop table '||table_name||';' from user_tables;

            spool off;

            @c:\drop_tables.sql;
            sql >@drop_tables.sql

          然后再還原數據。
          imp username/username@ORCL fromuser=username touser=username file=username.dmp  tablespaces=tablespaces


          posted @ 2010-09-28 16:02 半導體 閱讀(1656) | 評論 (1)編輯 收藏

          解決oracle表被鎖的問題

          查看oracle數據庫那些表被鎖,用下面SQL

            select sess.sid,
                   sess.serial#,
                   lo.oracle_username,
                   lo.os_user_name,
                   ao.object_name,
                   lo.locked_mode
             from  v$locked_object lo,dba_objects ao,v$session sess
            where  ao.object_id = lo.object_id
              and  lo.session_id = sess.sid;

          殺掉鎖表進程:
          如有記錄則表示有lock,記錄下SID和serial# ,將記錄的ID替換下面的738,1429,即可解除LOCK
          alter system kill session '245,560';

          posted @ 2010-09-28 14:28 半導體 閱讀(362) | 評論 (0)編輯 收藏

          webservice相關下載

          http://blog.csdn.net/luo_yifan/archive/2010/07/08/5721783.aspx

          posted @ 2010-09-27 22:11 半導體 閱讀(228) | 評論 (0)編輯 收藏

          僅列出標題
          共27頁: First 上一頁 10 11 12 13 14 15 16 17 18 下一頁 Last 
          主站蜘蛛池模板: 安平县| 河源市| 萝北县| 鹤峰县| 兴化市| 阳泉市| 金溪县| 松桃| 蒙自县| 微博| 普兰店市| 汝阳县| 荣成市| 临澧县| 丹凤县| 九龙县| 遂宁市| 石门县| 定远县| 平泉县| 白沙| 阳西县| 宜黄县| 侯马市| 阿瓦提县| 城固县| 宜兴市| 哈巴河县| 瑞丽市| 长岭县| 谢通门县| 清流县| 台湾省| 望谟县| 沙雅县| 晋城| 安阳县| 江陵县| 黄梅县| 曲水县| 巴塘县|