ych

          2008年9月3日

          通過exp導出與imp導入進行數據的備份轉移:
          exp命令:
          1 exp username/psw@TEST file=d:test.dmp full=y
          2 exp username/psw@TEST file=d:test.dmp owner=(ly)
          3 exp username/psw@TEST file= d:test.dmp tables=(grid1,grid2)
          1其中一是將Test(與某一數據庫對應的oracle服務名)數據庫進行整體導出
          2將屬于用戶ly的所有表導出
          3將表grid1,與grid2導出
          d:test.dmp是導出的文件地址

          imp命令:
          1 imp system/psw@TEST  file=d:test.dmp
          2 imp system/psw@TEST  full=y  file=d:test.dmp ignore=y
          3 imp system/psw@TEST  file=d:test.dmp  tables=(grid1)
          ignore=y表示如果被導入的數據庫中某個表已經存在就忽略不導入那個表
          3表示只導入grid1這個表

          在導入導出前要先測試下對應的數據庫是否是通的:tnsping test來測試,同樣test是服務名
          所有命令可在cmd下執行
          posted @ 2008-09-03 11:57 changhong 閱讀(97) | 評論 (0)編輯 收藏

          2007年8月29日

          http://blog.csdn.net/techyang/archive/2005/08/09/448677.aspx(luanfengxia/arc/2006/05/20/746951.aspx)

           public ActionForward add(ActionMapping mapping, ActionForm form,
             HttpServletRequest request, HttpServletResponse response) throws Exception {
                  String encoding = request.getCharacterEncoding();
                  if ((encoding != null) && (encoding.equalsIgnoreCase("utf-8")))
                  {
                      response.setContentType("text/html; charset=gb2312");//如果沒有指定編碼,編碼格式為gb2312
                  }
                  NodeForm theForm = (NodeForm) form;
                  String nodename=theForm.getNodename();
                  String note=theForm.getNote();
                  FormFile file = theForm.getTheFile1();//取得上傳的文件
                  FormFile file2=theForm.getTheFile2();
                  FormFile file3=theForm.getTheFile3();
                  Session session=null;
                  String forward="";
                  try
                  {
                      /*
                       * 取當前系統路徑
                       */
                      String filePath = this.getServlet().getServletContext()
                      .getRealPath("/");
                      System.out.println("---------------------------------------"+filePath);
                      if(file.getFileSize()!=0){
                      ByteArrayInputStream stream = (ByteArrayInputStream) file.getInputStream();//把文件讀入
                    
                      //ByteArrayOutputStream baos = new ByteArrayOutputStream();
                    
                      /*
                       * 建立一個上傳文件的輸出流
                       */
                      OutputStream bos = new FileOutputStream(filePath +
                              "UploadFiles\\"+file.getFileName());
                      request.setAttribute("fileName",filePath + "/"
                              + file.getFileName());
                      int bytesRead = 0;
                      byte[] buffer = new byte[8192];
                      while ((bytesRead = stream.read(buffer, 0, 8192)) != -1)
                      {
                          bos.write(buffer, 0, bytesRead);//將文件寫入服務器
                      }          
                      bos.close();
                      stream.close();
                      }if(file2.getFileSize()!=0){
                      ByteArrayInputStream stream2 = (ByteArrayInputStream) file2.getInputStream();
                      OutputStream bos2 =  new FileOutputStream(filePath +
                              "UploadFiles\\"+file2.getFileName());//建立一個上傳文件的輸出流
                      int bytesRead2 = 0;
                      byte[] buffer2 = new byte[8192];
                      while ((bytesRead2 = stream2.read(buffer2, 0, 8192)) != -1)
                      {
                          bos2.write(buffer2, 0, bytesRead2);//將文件寫入服務器
                      }          
                      bos2.close();
                      stream2.close();
                      }if(file3.getFileSize()!=0){
                      ByteArrayInputStream stream3 = (ByteArrayInputStream) file3.getInputStream();//把文件讀入
                  OutputStream bos3 =  new FileOutputStream(filePath +
                          "UploadFiles\\"+file3.getFileName());//建立一個上傳文件的輸出流
                  int bytesRead3 = 0;
                  byte[] buffer3 = new byte[8192];

                  while ((bytesRead3 = stream3.read(buffer3, 0, 8192)) != -1)
                  {
                      bos3.write(buffer3, 0, bytesRead3);//將文件寫入服務器
                  }          
                  bos3.close();
                  stream3.close();
                  }
            Configuration config = new Configuration().configure();
            SessionFactory factory = config.buildSessionFactory();
               session = factory.openSession();
                  Transaction transaction = session.beginTransaction();
                  Node node=new Node();
                  node.setNodeName(nodename);
                  node.setXsdName(file.getFileName());
                  node.setXslName(file2.getFileName());
                  node.setXhtmlName(file3.getFileName());
                  node.setNote(note);
                  session.save(node);
            session.flush();
            session.clear();
            forward="display";
                  transaction.commit();
                  }
                  catch (Exception e)
                  {
                   forward="error";
                      System.err.print(e);
                      e.printStackTrace();
                  }
             
            finally{
             session.close();
             }
                  return mapping.findForward(forward);
           }

          posted @ 2007-08-29 13:35 changhong 閱讀(208) | 評論 (0)編輯 收藏

          2007年7月6日

          "^\\d+$"  //非負整數(正整數 + 0)
          "^[0-9]*[1-9][0-9]*$"  //正整數
          "^((-\\d+)|(0+))$"  //非正整數(負整數 + 0)
          "^-[0-9]*[1-9][0-9]*$"  //負整數
          "^-?\\d+$"    //整數
          "^\\d+(\\.\\d+)?$"  //非負浮點數(正浮點數 + 0)
          "^(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*))$"  //正浮點數
          "^((-\\d+(\\.\\d+)?)|(0+(\\.0+)?))$"  //非正浮點數(負浮點數 + 0)
          "^(-(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*)))$"  //負浮點數
          "^(-?\\d+)(\\.\\d+)?$"  //浮點數
          "^[A-Za-z]+$"  //由26個英文字母組成的字符串
          "^[A-Z]+$"  //由26個英文字母的大寫組成的字符串
          "^[a-z]+$"  //由26個英文字母的小寫組成的字符串
          "^[A-Za-z0-9]+$"  //由數字和26個英文字母組成的字符串
          "^\\w+$"  //由數字、26個英文字母或者下劃線組成的字符串
          "^[\\w-]+(\\.[\\w-]+)*@[\\w-]+(\\.[\\w-]+)+$"    //email地址
          "^[a-zA-z]+://(\\w+(-\\w+)*)(\\.(\\w+(-\\w+)*))*(\\?\\S*)?$"  //url
          posted @ 2007-07-06 19:14 changhong 閱讀(136) | 評論 (0)編輯 收藏

          2007年6月1日

          1連接數據庫:

          進入mysql的安裝路徑bin如:C:>cd C:Program FilesMySQLMySQL Server 5.0bin

          輸入用戶名密碼: C:Program FilesMySQLMySQL Server 5.0bin>mysql -uroot -p123456

          2退出mysql

          mysql>exit

          3. 修改密碼:
          C:Program FilesMySQLMySQL Server 5.0bin>mysqladmin -uroot -p123456 password 456123

          4.增加用戶:
          添加一個用戶test1 密碼為ABC;讓他可以在任何主機上登錄,并對所有數據庫有查詢、插入、修改、刪除的權限。首先用以root用戶連入mysql,

          mysql>grant select,insert,update,delete on *.* to test1@"%" Identified by "abc";

          增加一個用戶test2密碼為abc,讓其只可以在localhost上登錄,并可以對數據庫mydb進行查詢、插入、修改、刪除的操作(localhost指本地主機,即mysql數據庫所在的那臺主機),這樣用戶即使用知道test2的密碼,也無法從internet上直接訪問數據庫,只能通過mysql主機上的web頁來訪問了。

          mysql>grant select,insert,update,delete on mydb.* to test2@localhost identified by "abc";

          增加一個可以從任何地方連接服務器的一個完全的超級用戶
          mysql>grant all privileges on *.* to test3@"%" identified by 'abc' with grant option;

          5.刪除授權(與上面授權相對應)

          mysql>revoke select,insert,update,delete on *.* from test1@"%" ;

          mysql>revoke select,insert,update,delete on mydb.* from test2@localhost;

          mysql>revoke all privileges on *.* from test3@"%";

          6.顯示數據庫
          mysql>show databases;

          7.顯示數據庫中的表(exam數據庫名)
          mysql>use exam;
          mysql>show tables;

          8.顯示表的結構(db_testtemp表名)
          mysql>describe db_testtemp;

          9.建庫
          mysql>create database 庫名;

          10.建表
          mysql>use test;
          mysql>create table teacher(

          id int(3) auto_increment not null primary key,

          name char(10) not null,

          address varchar(50) default 'beijing',

          year date

          );

          或者

          school.sql的內容

          use exam;
          create table teacher(

          id int(3) auto_increment not null primary key,

          name char(10) not null,

          address varchar(50) default 'beijing',

          year date

          );

          把文件school.sql放到c:下,并在DOS狀態進入目錄C:>cd C:Program FilesMySQLMySQL Server 5.0bin
          然后C:Program FilesMySQLMySQL Server 5.0bin>mysql -uroot -p456123 < c:school.sql
          如果成功,空出一行無任何顯示;如有錯誤,會有提示。

          11.刪除庫
          mysql>drop database test;

          和刪除表

          mysql>use exam;
          mysql>drop table teacher;

          14.表重命名
          mysql>alter table teacher rename student;

          15. 備份數據庫(生成的exam.sql放在目錄C:Program FilesMySQLMySQL Server 5.0bin下)
          C:Program FilesMySQLMySQL Server 5.0bin>mysqldump -hlocalhost -uroot -pncae2010 exam > exam.sql

          16. 恢復數據庫(localhost不能用本機IP代替)
          C:Program FilesMySQLMySQL Server 5.0bin>mysql -hlocalhost -uroot -pncae2010 exam < exam.sql

          17.復制數據庫(把所有的數據庫備份到目錄C:Program FilesMySQLMySQL Server 5.0bin下的all-databases.sql文件中)
          C:Program FilesMySQLMySQL Server 5.0bin>mysqldump -hlocalhost -uroot -pncae2010 --all-databases > all-databases.sql

          18.備份表(生成的student.sql放在目錄C:Program FilesMySQLMySQL Server 5.0bin下)


          C:Program FilesMySQLMySQL Server 5.0bin>mysqldump -hlocalhost -uroot -pncae2010 exam student > student.sql

           

          19.恢復表(操作前先把原來的表刪除)
          C:Program FilesMySQLMySQL Server 5.0bin>mysql -h(ip) -uroot -p(password) databasename tablename < tablename.sql

          還有一些未實踐

          20.為了改變列a,從INTEGER改為TINYINT NOT NULL(名字一樣),
          并且改變列b,從CHAR(10)改為CHAR(20),同時重命名它,從b改為c:
          ALTER TABLE t2 MODIFY a TINYINT NOT NULL, CHANGE b c CHAR(20);

          增加一個新TIMESTAMP列,名為d:
          ALTER TABLE t2 ADD d TIMESTAMP;

          在列d上增加一個索引,并且使列a為主鍵:
          ALTER TABLE t2 ADD INDEX (d), ADD PRIMARY KEY (a);

          刪除列c:
          ALTER TABLE t2 DROP COLUMN c;

          增加一個新的AUTO_INCREMENT整數列,命名為c:
          ALTER TABLE t2 ADD c INT UNSIGNED NOT NULL AUTO_INCREMENT,ADD INDEX (c);
          注意,我們索引了c,因為AUTO_INCREMENT柱必須被索引,并且另外我們聲明c為NOT NULL,
          因為索引了的列不能是NULL

          ---------------------------------------------------------------

          21.數據的導入導出
          A。mysqlimport
          語法:mysqlbinmysqlimport database tables.txt( 文件名需要與表名相同)
          參數:-d or --delete 新數據導入數據表中之前刪除數據數據表中的所有信息;
          -f or --force 不管是否遇到錯誤
          -i or --ignore mysqlimport跳過或者忽略那些有相同唯一關鍵字的行, 導入文件中的數據將被忽略;
          -l or -lock-tables 數據被插入之前鎖住表,這樣就防止了, 你在更新數據庫時,用戶的查詢和更新受到影響;
          --fields-enclosed- by= char
            指定文本文件中數據的記錄時以什么括起的, 很多情況下數據以雙引號括起。 默認的情況下數據是沒有被字符括起的。
            --fields-terminated- by=char
            指定各個數據的值之間的分隔符,在句號分隔的文件中,分隔符是句號。您可以用此選項指定數據之間的分隔符。默認的分隔符是跳格符

          (Tab)
            --lines-terminated- by=str
            此選項指定文本文件中行與行之間數據的分隔字符串 或者字符。 默認的情況下mysqlimport以newline為行分隔符。 您可以選擇用一個字

          符串來替代一個單個的字符: 一個新行或者一個回車。
            mysqlimport命令常用的選項還有-v 顯示版本(version), -p 提示輸入密碼(password)等。

          --------------------------------------------------------------

          22.常用插入、修改、刪除語句
          插入記錄:insert into teacher s('','glchengang','深圳一中','1976-10-10');
          修改記錄:update mytable set single=′y′ where name=′abccs′;
          刪除記錄:delete from mytable where name=′abc′;

          出現: mysql 的提示符,此時已進入mysql的交互操作方式。
          3、退出MySQL操作界面
          在mysql>提示符下輸入quit可以隨時退出交互操作界面:
          mysql> quit
          Bye
          你也可以用control-D退出。

          4、第一條命令
          mysql> select version(),current_date();
          +----------------+-----------------+
          | version() | current_date() |
          +----------------+-----------------+
          | 3.23.25a-debug | 2001-05-17 |
          +----------------+-----------------+
          1 row in set (0.01 sec)
          mysql>
          此命令要求mysql服務器告訴你它的版本號和當前日期。嘗試用不同大小寫操作上述命令,看結果如何。結果說明mysql命令的大小寫結果是一致的。
          練習如下操作:
          mysql>Select (20+5)*4;
          mysql>Select (20+5)*4,sin(pi()/3);
          mysql>Select (20+5)*4 AS Result,sin(pi()/3); (AS: 指定假名為Result)
          <B>5、多行語句</B>
          一條命令可以分成多行輸入,直到出現分號“;”為止:
          <ccid_nobr>
          <table width="400" border="1" cellspacing="0" cellpadding="2"
          bordercolorlight = "black" bordercolordark = "#FFFFFF" align="center">
          <tr>
          <td bgcolor="e6e6e6" class="code" style="font-size:9pt">
          <pre><ccid_code> mysql> select
          -> USER()
          -> ,
          -> now()
          ->;
          +--------------------+---------------------+
          | USER() | now() |
          +--------------------+---------------------+
          | ODBC@localhost | 2001-05-1:59:15 |
          +--------------------+---------------------+
          1 row in set (0.06 sec)
          mysql>
          注意中間的逗號和最后的分號的使用方法。

          6、一行多命令
          輸入如下命令:
          mysql> SELECT USER(); SELECT NOW();
          +------------------+
          | USER() |
          +------------------+
          | ODBC@localhost |
          +------------------+
          1 row in set (0.00 sec)
          +---------------------+
          | NOW() |
          +---------------------+
          | 2001-05-17 23:06:15 |
          +---------------------+
          1 row in set (0.00 sec)
          mysql>
          注意中間的分號,命令之間用分號隔開。

          7、顯示當前存在的數據庫
          mysql> show databases;
          +----------+
          | Database |
          +----------+
          | mysql |
          | test |
          +----------+
          2 row in set (0.06 sec)
          mysql>

          8、選擇數據庫并顯示當前選擇的數據庫
          mysql> USE mysql
          Database changed
          mysql>
          (USE 和 QUIT 命令不需要分號結束。)
          mysql> select database();
          +---------------+
          | database() |
          +---------------+
          | mysql |
          +---------------+
          1 row in set (0.00 sec)

          9、顯示當前數據庫中存在的表
          mysql> SHOW TABLES;

          10、顯示表(db)的內容
          mysql>select * from db;

          11、命令的取消
          當命令輸入錯誤而又無法改變(多行語句情形)時,只要在分號出現前就可以用 c來取消該條命令

          mysql> select
          -> user()
          -> c
          mysql>

           
          posted @ 2007-06-01 14:53 changhong 閱讀(220) | 評論 (0)編輯 收藏

          2007年5月23日

          Linux上備份Oracle數據庫腳本
          # exp-backup.sh# initialize oracle database env variable /home/oracle/oraenv# assign current date to variable rq# 注意:定義rq變量用的單引號是tab鍵上面的~鍵。 rq=`date +"%y%m%d"`# export whole database exp expuser/web2dump5@ctgpcweb parfile=./export.par file=/backup/db_1634_$rq.dmp log=./db_1634_$rq.log

          會發送和抄送郵件的MySQL數據庫備份腳本
          backupDB_then_mail_it.sh


          #!/bin/bash

          echo Delete last arthive file\(s\) ...
          rm DB_BACKUP.sql.gz

          echo Backup MySQL DB\(c156948_wbj123Drupal\) ...
          mysqldump --user=c156948admin --password=xxxxxxx --host=mysql4-c c156948_wbj123Drupal | gzip > DB_BACKUP.sql.gz

          echo Mail it to xxxxxx@gmail.com ...
          uuencode DB_BACKUP.sql.gz DB_BACKUP.sql.gz | mail -s "Drupal DB BACKUP of wbj123.com" -c xxxxxxx@shtel.net.cn xxxxxx@gmail.com

          解釋如下:
          先刪掉上次備份的舊的備份文件
          再備份MySQL數據庫
          再把數據庫的備份文件Email到兩個郵箱中

          若不要抄送郵件,就改用下面這段

          echo Mail it to xxx@yyyyyy.com with short title ...
          uuencode DB_BACKUP.sql.gz DB.gz | mail -s "DB" xxx@yyyyyy.com
          
          posted @ 2007-05-23 20:12 changhong 閱讀(260) | 評論 (0)編輯 收藏

          2007年5月17日

          中文亂碼問題的根本解決辦法是明確地指定整個應用系統統一的字符集。
          要做到以下幾點:
          一、開發和編譯代碼時指定字符集為UTF-8。JBuilder和Eclipse都可以在項目屬性中設置。
          二、使用過濾器,如果所有請求都經過一個Servlet控制分配器,那么使用Servlet的filter執行語句,將所有來自瀏覽器的請求(request)轉換為UTF-8,因為瀏覽器發過來的請求包根據瀏覽器所在的操作系統編碼,可能是各種形式編碼。關鍵一句:
          request.setCharacterEncoding("UTF-8")。
          需要配置web.xml 激活該Filter。
          三、在JSP頭部聲明:<%@ page contentType="text/html;charset= UTF-8" %>。
          四、在Jsp的html代碼中,聲明UTF-8:<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
          五、設定數據庫連接方式是UTF-8。例如連接MYSQL時配置URL如下:
          jdbc:mysql://localhost:3306/test?useUnicode=true&amp;characterEncoding=UTF-8
          一般數據庫都可以通過管理設置設定UTF-8
          六、其他和外界交互時能夠設定編碼時就設定UTF-8,例如讀取文件,操作XML等。
          七、如果使用的是tomcat服務器,那么修改在${tomcat_home}/conf/中的server.xml文件:
          <Connector port="8080"
                         maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
                         enableLookups="false" redirectPort="8443" acceptCount="100"
                         debug="0" connectionTimeout="20000"
                         disableUploadTimeout="true" URIEncoding="UTF-8" />
          或者改為:
          <Connector port="8080"
                         maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
                         enableLookups="false" redirectPort="8443" acceptCount="100"
                         debug="0" connectionTimeout="20000"
                         disableUploadTimeout="true" useBodyEncodingForURI="true" />
          都能達到很好的效果。
          posted @ 2007-05-17 20:43 changhong 閱讀(266) | 評論 (0)編輯 收藏

          2006年8月8日

          ? <table width="200" border="0" cellspacing="0" cellpadding="0">
          <tr>
          <td> <MARQUEE><FONT color=#0909f7>
          <SCRIPT language=JavaScript>
          <!--
          var caution = false
          function setCookie(name, value, expires, path, domain, secure) {
          var curCookie = name + "=" + escape(value) +
          ((expires) ? "; expires=" + expires.toGMTString() : "") +
          ((path) ? "; path=" + path : "") +
          ((domain) ? "; domain=" + domain : "") +
          ((secure) ? "; secure" : "")
          if (!caution || (name + "=" + escape(value)).length <= 4000)
          document.cookie = curCookie
          else
          if (confirm("Cookie exceeds 4KB and will be cut!"))
          document.cookie = curCookie
          }
          function getCookie(name) {
          var prefix = name + "="
          var cookieStartIndex = document.cookie.indexOf(prefix)
          if (cookieStartIndex == -1)
          return null
          var cookieEndIndex = document.cookie.indexOf(";", cookieStartIndex + prefix.length)
          if (cookieEndIndex == -1)
          cookieEndIndex = document.cookie.length
          return unescape(document.cookie.substring(cookieStartIndex + prefix.length, cookieEndIndex))
          }
          function deleteCookie(name, path, domain) {
          if (getCookie(name)) {
          document.cookie = name + "=" +
          ((path) ? "; path=" + path : "") +
          ((domain) ? "; domain=" + domain : "") +
          "; expires=Thu, 01-Jan-70 00:00:01 GMT"
          }
          }
          function fixDate(date) {
          var base = new Date(0)
          var skew = base.getTime()
          if (skew > 0)
          date.setTime(date.getTime() - skew)
          }
          var now = new Date()
          fixDate(now)
          now.setTime(now.getTime() + 365 * 24 * 60 * 60 * 1000)
          var visits = getCookie("counter")
          if (!visits)
          visits = 1
          else
          visits = parseInt(visits) + 1
          setCookie("counter", visits, now)
          document.write("總訪問量:" + visits + "次")
          // -->
          </SCRIPT>
          </FONT></MARQUEE>
          </td>
          </tr>
          </table>
          posted @ 2006-08-08 13:37 changhong 閱讀(488) | 評論 (0)編輯 收藏
          僅列出標題  

          導航

          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          統計

          常用鏈接

          留言簿(1)

          隨筆檔案

          文章檔案

          相冊

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 汽车| 宣化县| 盖州市| 屯门区| 秦皇岛市| 延寿县| 油尖旺区| 班玛县| 双峰县| 忻州市| 精河县| 浮山县| 沅江市| 元朗区| 乌兰县| 伊春市| 民县| 浦县| 景洪市| 长乐市| 南靖县| 蒙阴县| 临澧县| 修水县| 葫芦岛市| 乌海市| 和林格尔县| 平昌县| 上杭县| 连山| 深圳市| 土默特右旗| 诏安县| 财经| 上饶县| 青海省| 鄢陵县| 石林| 广宗县| 十堰市| 曲松县|