隨筆-204  評(píng)論-90  文章-8  trackbacks-0
           
          SET QUOTED_IDENTIFIER ON 
          GO
          SET ANSI_NULLS ON 
          GO




          ALTER     PROCEDURE proc_get_mt
          AS
          begin

              
          declare cur_mt cursor for 
                  
          Select  * from OpenQuery(wxtl_test, 
                                  
          'select send_id,
                                      mobile,
                                      send_msg,
                                        sys_id
                                      from wxtlplatform.send 
                                      where SEND_STATUS = 0
          ')
              
          open cur_mt

              
          declare     @v_send_id        varchar(20),
                          
          @v_mobile        varchar(21),
                          
          @v_send_msg        varchar(500),
                          
          @v_message        varchar(200),
                          
          @v_sys_id        varchar(20),
                      
          @v_cmd            varchar(500),
                          
          @v_ext_cmd        nvarchar(500),
                          
          @v_ext_code        varchar(20),
                          
          @v_OrgAddr        varchar(100)

              
          fetch next from cur_mt into @v_send_id,@v_mobile,@v_send_msg,@v_sys_id
              
          while @@fetch_status = 0
                  
          begin
                      
          PRINT ' '
                     
          SELECT @v_message = '----- Send info : ' + @v_send_id + ' ' + @v_mobile + ' ' + @v_send_msg
                     
          PRINT @v_message
                      
                      
          --查找擴(kuò)展碼            
                      select @v_ext_cmd = 'Select @v_ext_code=down_lt from OpenQuery(wxtl_test,''select down_lt from wxtlplatform.sys_info where sys_id = ' + 
                                   
          @v_sys_id + ''')'
                      
                      
          exec sp_executesql @v_ext_cmd, N'@v_ext_code varchar(20) output'@v_ext_code output
                      
          Select @v_ext_code
                      
          PRINT @v_ext_code 
                      
          PRINT @v_ext_cmd
                      
          select @v_OrgAddr = '62090001001' + @v_ext_code
                      
          --exec proc_get_mt

                      
          --插入MAS MT表
                      INSERT INTO tbl_SMSendTask
                        (CreatorID,
                         TaskName,
                         SmSendedNum,
                         OperationType,
                         SuboperationType,
                         SendType,
                         OrgAddr,
                         DestAddr,
                         SM_Content,
                         SendTime,
                         NeedStateReport,
                         ServiceID,
                         FeeType,
                         FeeCode,
                         MsgID,
                         SMType,
                         MessageID,
                         DestAddrType,
                         SubTime,
                         TaskStatus,
                         SendLevel,
                         SendState,
                         TryTimes,
                         
          Count,
                         SuccessID,
                         Reserve1,
                         Reserve2)
                      
          VALUES(
                         
          '0000'
                          
          ''
                          
          0
                          
          'WAS'
                          
          '66'
                          
          1
                          
          @v_OrgAddr
                          
          @v_mobile
                          
          @v_send_msg
                          
          GETDATE(), 
                          
          1
                          
          'EIE'
                          
          '01'
                          
          '0'
                          
          ''
                          
          0
                          
          '0'
                          
          0
                          
          GETDATE(), 
                          
          0
                          
          0
                          
          3
                          
          0
                          
          0
                          
          0
                          
          ''
                          
          '')

          --'0404','',0,'WAS','66',1,'620900010010404','13800138000',convert(varchar(100),getdate(),121),getdate(),
          --
          1,'EIE','01','0','',0,'0',0,getdate(),0,0,0,0,0,0)


                      
          --修改華夏基金MT表
                      select @v_cmd = 'update OpenQuery(wxtl_test, ''select SEND_STATUS from wxtlplatform.send where send_id = ' + 
                                   
          @v_send_id + ''') set SEND_STATUS=2'


                      
          PRINT @v_cmd
                      
          --exec(@v_cmd)

                      
          --游標(biāo)移動(dòng)
                      fetch next from cur_mt into @v_send_id,@v_mobile,@v_send_msg,@v_sys_id
                  
          end
              
          close cur_mt
              
          deallocate cur_mt
          end



          GO
          SET QUOTED_IDENTIFIER OFF 
          GO
          SET ANSI_NULLS ON 
          GO

          posted @ 2008-02-28 16:27 一凡 閱讀(317) | 評(píng)論 (0)編輯 收藏
          1、對(duì)遠(yuǎn)程表執(zhí)行 UPDATE、 INSERT, 或 DELETET
          update openquery(linked1, 'select ssn from testlinked where ssn=2')
          set ssn=ssn + 1
          insert openquery(linked1, 'select ssn from testlinked where 1=0'values (1000)
          delete openquery(linked1, 'select ssn from testlinked where ssn>100')

          2、使用 OpenQuery 動(dòng)態(tài)執(zhí)行

          begin tran
          SET QUOTED_IDENTIFIER OFF
          SET XACT_ABORT ON
          declare @cmd varchar(2500
          declare @cmd1 varchar(2500
          declare @var varchar(20
          set @var = 'White' 
          declare @var1 varchar(20
          set @var1 = 'White1' 
          declare @var2 varchar(20
          set @var2 = 'Johnson1'

          select @cmd = "Update openquery(linked1,'select au_lname, au_fname from pubs.dbo.authors
          where au_lname = 
          ''" + @var + "''' )
          set au_lname = '" + @var1 + "',
          au_fname 
          = '" + @var2 + "'"

          exec ( @cmd )

          commit tran
          select * from <servername>.pubs.dbo.authors

          posted @ 2008-02-28 10:54 一凡 閱讀(4431) | 評(píng)論 (0)編輯 收藏
          1:使用SHOW語句找出在服務(wù)器上當(dāng)前存在什么數(shù)據(jù)庫:
            mysql> SHOW DATABASES;
          2:創(chuàng)建一個(gè)數(shù)據(jù)庫MYSQLDATA
            mysql> CREATE DATABASE MYSQLDATA;
          3:選擇你所創(chuàng)建的數(shù)據(jù)庫
            mysql> USE MYSQLDATA; (按回車鍵出現(xiàn)Database changed 時(shí)說明操作成功!)
          4:查看現(xiàn)在的數(shù)據(jù)庫中存在什么表
            mysql> SHOW TABLES;
          5:創(chuàng)建一個(gè)數(shù)據(jù)庫表
            mysql> CREATE TABLE MYTABLE (name VARCHAR(20), sex CHAR(1));
          6:顯示表的結(jié)構(gòu):
            mysql> DESCRIBE MYTABLE;
          7:往表中加入記錄
            mysql> insert into MYTABLE values ("hyq","M");
          8:用文本方式將數(shù)據(jù)裝入數(shù)據(jù)庫表中(例如D:/mysql.txt)
            mysql> LOAD DATA LOCAL INFILE "D:/mysql.txt" INTO TABLE MYTABLE;
          9:導(dǎo)入.sql文件命令(例如D:/mysql.sql)
            mysql> use database;
            mysql> source d:/mysql.sql;
          10:刪除表
            mysql> drop TABLE MYTABLE;
          11:清空表
            mysql> delete from MYTABLE;
          12:更新表中數(shù)據(jù)
            mysql> update MYTABLE set sex="f" where name=hyq;



          此外,Linux下經(jīng)常使用的命令:

           

          1:導(dǎo)入數(shù)據(jù)庫備份文件的方法:
            root: mysql –u數(shù)據(jù)庫帳戶 –p密碼 數(shù)據(jù)庫名 < .sql備份文件
          2:MySql的用戶管理是通過User表來實(shí)現(xiàn)的,添加新用戶常用的方法有兩個(gè),一是在User表插入相應(yīng)的數(shù)據(jù)行,同時(shí)設(shè)置相應(yīng)的權(quán)限;二是通過GRANT命令創(chuàng)建具有某種權(quán)限的用戶。其中GRANT的常用用法如下:
            mysql> grant all privileges on 數(shù)據(jù)庫名.* to 用戶名@localhost identified by “密碼”;
          3:清空文件內(nèi)容:
            cat /dev/null > 文件名
          4:添加帳戶:
            useradd 用戶名 –d 目錄名 –s /sbin/nologin(不允許該用戶直接登錄服務(wù)器)
          5:設(shè)置帳戶密碼
            passwd 用戶名



          特別注意:
          剛安裝好的MySql包含一個(gè)含空密碼的root帳戶和一個(gè)匿名帳戶,這是很大的安全隱患,對(duì)于一些重要的應(yīng)用我們應(yīng)將安全性盡可能提高,在這里應(yīng)把匿名帳戶刪除、 root帳戶設(shè)置密碼,可用如下命令進(jìn)行:
          use mysql;
          delete from User where User="";
          update User set Password=PASSWORD(newpassword) where User=root;

           

          引用
          作者: 郝聰
          原載: 黑色夢(mèng)中SEO博客
          版權(quán)所有,轉(zhuǎn)載時(shí)請(qǐng)注明作者并以鏈接形式標(biāo)注原始出處!
          posted @ 2008-02-27 10:15 一凡 閱讀(240) | 評(píng)論 (0)編輯 收藏

          引用:http://epub.itpub.net/4/8.htm

          有兩種方法:(推薦使用第二種)

          1、在查詢分析器中執(zhí)行sp_addlinkedserver

             USE master

             GO

             EXEC sp_addlinkedserver

                @server = 'xzh.world',       --ORACLE鏈接服務(wù)器的名稱

                @srvproduct = 'Oracle',      --固定不變的

                @provider = 'MSDAORA',       --固定不變的

                @datasrc = 'xzh.world'       --Net8中的服務(wù)器別名(網(wǎng)絡(luò)服務(wù)名)

           

          2、在企業(yè)管理器中

           

             1)在sql server2000 的企業(yè)管理器里面, 找到安全性->鏈接服務(wù)器->新建
          2)在新建對(duì)話框"常規(guī)"選項(xiàng)卡里面, 選擇Microsoft ole db provider for oracle驅(qū)動(dòng). 產(chǎn)品名稱固定填為"Oracle", 數(shù)據(jù)源就是上面建立的網(wǎng)絡(luò)名稱ora. 提供程序字符串填為 "MSDAORA".
          3)在新建對(duì)話框"安全性" 選項(xiàng)卡里面, 選擇" 用此安全上下文進(jìn)行:", 輸入oracle9i server為你分配的用戶名和密碼.
          4)在"常規(guī)"選項(xiàng)卡里面輸入你為該鏈接服務(wù)器取的名稱



          3、如何引用ORACLE鏈接服務(wù)器中的數(shù)據(jù)

            

          Select  top 10 * from OpenQuery(linkname, 'Select * from user.tablename')

           

          (END)



          posted @ 2008-02-19 17:54 一凡 閱讀(882) | 評(píng)論 (0)編輯 收藏
              通過jxl.jar讀寫Excel:
          package com.pub.util;

          import java.io.File;
          import java.io.IOException;
          import java.util.Vector;

          import jxl.Sheet;
          import jxl.Workbook;
          import jxl.read.biff.BiffException;
          import jxl.write.Label;
          import jxl.write.WritableSheet;
          import jxl.write.WritableWorkbook;

          public class ExlUtil {

              
          public static Vector readExl(String fileName) {
                  Vector vec1 
          = null;
                  Vector vec2 
          = new Vector();
                  File f 
          = new File(fileName);

                  
          try {
                      
          // 構(gòu)建Workbook對(duì)象, 只讀Workbook對(duì)象
                      Workbook workbook = Workbook.getWorkbook(f);
                      
          // 獲取第一張Sheet表
                      Sheet sheet = workbook.getSheet(0);
                      
          // 獲取行數(shù)
                      int rows = sheet.getRows();
                      
          // 獲取列數(shù)
                      int columns = sheet.getColumns();
                      
          for (int i = 0; i < rows; i++) {
                          vec1 
          = new Vector();
                          
          for (int j = 0; j < columns; j++) {
                              
          // 獲取j列i行的值
                              String cbxmdm = sheet.getCell(j, i).getContents();
                              
          if (cbxmdm == null)
                                  cbxmdm 
          = "";
                              vec1.add(cbxmdm);
                          }
                          
          if (vec1 != null)
                              vec2.add(vec1);
                      }
                  } 
          catch (BiffException e) {
                      e.printStackTrace();
                  } 
          catch (IOException e) {
                      e.printStackTrace();
                  }
                  
          return vec2;

              }

              
          public static void writeExl(String fileName, Vector vec) {
                  WritableWorkbook book 
          = null;
                  WritableSheet sheet 
          = null;
                  
          try {
                      book 
          = Workbook.createWorkbook(new File(fileName));

                      
          // 生成名為“第一頁”的工作表,參數(shù)0表示這是第一頁
                      sheet = book.createSheet("第一頁"0);

                      
          // 打開文件
                      for (int i = 0; i < vec.size(); i++) {
                          
          // 在Label對(duì)象的構(gòu)造子中指名單元格位置是第一列第一行(0,0)
                          Vector vec2 = (Vector) vec.get(i);
                          
          for (int j = 0; j < vec2.size(); j++) {
                              
          // 第i行第j列
                              Label label = new Label(j, i, (String) vec2.get(j));
                              
          // 將定義好的單元格添加到工作表中
                              sheet.addCell(label);
                          }
                      }
                      
          // 寫入數(shù)據(jù)并關(guān)閉文件
                      book.write();
                      book.close();

                  } 
          catch (Exception e) {
                      e.printStackTrace();
                  }
              }
              
              
          public static void main(String[] args) {
                  ExlUtil.writeExl(
          "f:/new.xls", ExlUtil.readExl("f:/xx.xls"));
              }
          }


          posted @ 2008-01-21 16:37 一凡 閱讀(398) | 評(píng)論 (0)編輯 收藏

          seq命令的作用就是打印出一串有序的數(shù)字,它主要有以下3個(gè)參數(shù)構(gòu)成:

                 -f, --format=FORMAT 
                        use printf style floating-point FORMAT (default: %g)

          -f 指定打印的格式:
          例如:
          [root@hao32]# seq -f %05g 2 7 
          00002
          00003
          00004
          00005
          00006
          00007

                 -s, --separator=STRING
                        use STRING to separate numbers (default: \n)
          -s 指定分隔符 默認(rèn)是回車:
          例如:
          [root@hao32]# seq -s" " 2 7
          2 3 4 5 6 7

                 -w, --equal-width
                        equalize width by padding with leading zeroes
          -w 輸出是同寬 前面不足的用 "0" 補(bǔ)全,即與位數(shù)最多的數(shù)對(duì)齊
          例如:
          [root@hao32]# seq -w 2 11
          02
          03
          04
          05
          06
          07
          08
          09
          10
          11


          歡迎轉(zhuǎn)載本文,請(qǐng)注明來自:http://www.linuxsense.org
          posted @ 2008-01-09 15:43 一凡 閱讀(1612) | 評(píng)論 (0)編輯 收藏

                 2007年終于過去了,不管怎么樣都過去了,我應(yīng)該向前看,向前看,向著以后美好的生活?yuàn)^斗!

          posted @ 2008-01-02 17:03 一凡 閱讀(237) | 評(píng)論 (0)編輯 收藏
                我使用的是GlassFish-v2-b58g和resin-3.1.2,在相同的應(yīng)用和網(wǎng)絡(luò)環(huán)境下處理5000次請(qǐng)求用時(shí)情況如下:
                GlassFish : 12分1秒
               
          [mobzc@mobzcdb prodlog]$ head -1 prod_info.log 
          [
          2007-12-04 15:17:48]http://000.000.000.000:8080/wealth_club/test.php?method=test
          [mobzc
          @mobzcdb prodlog]$ tail -1 prod_info.log 
          [
          2007-12-04 15:29:49]http://000.000.000.000:8080/wealth_club/test.php?method=test
                Resin:      1小時(shí)42秒

          [mobzc@mobzcdb prodlog]$ head -1 prod_info.log 
          [
          2007-12-04 15:35:58]http://000.000.000.000:8080/wealth_club/test.php?method=test
          [mobzc
          @mobzcdb prodlog]$ tail -1 prod_info.log 
          [
          2007-12-04 16:36:40]http://000.000.000.000:8080/wealth_club/test.php?method=test

          posted @ 2007-12-04 16:55 一凡 閱讀(512) | 評(píng)論 (0)編輯 收藏
          一、下載GlassFish
             https://glassfish.dev.java.net/downloads/v2-b41d.html

          二、安裝
           
            1、需要JDK1.5 如果沒有請(qǐng)下載
            2、解壓
               %java -Xmx256m -jar filename.jar
            3、進(jìn)入glassfilsh目錄
               % cd glassfish
            4、在setup.xml里設(shè)置端口:
              <property name="admin.port" value="4848"/>
              <property name="instance.port" value="8080"/>
              <property name="orb.port" value="3700"/>
              <property name="imq.port" value="7676"/>
              <property name="https.port" value="8181"/>
             其中admin.port是管理后臺(tái)端口,用戶名/密碼:admin/adminadmin
                 instance.port是http端口
            5、安裝
              UNIX:
              % chmod -R +x lib/ant/bin
              % lib/ant/bin/ant -f setup.xml
              windows:
              % lib/ant/bin/ant -f setup.xml
            6、GlassFish 集群安裝,用下面的命令
              UNIX:
              % lib/ant/bin/ant -f setup-cluster.xml
              Windows:
              % lib\ant\bin\ant -f setup-cluster.xml
          三、GlashFish啟動(dòng)和關(guān)閉命令
             ./bin/asadmin start-domain domain1
             ./bin/asadmin stop-domain domain1

          四、應(yīng)用部屬
               有4種方式:
               1、可以直接將war或ear放在glassfish/domain/domain1/autodeploy目錄下,glassfish啟動(dòng)后會(huì)自動(dòng)部署
               2、是通過命令asadmin deploy部署應(yīng)用, 另外 asadmin updeploy 卸載應(yīng)用
                  通過asadmin deploy --help 和 asadmin undeploy --help 獲得更多幫助
               3、通過glassfish管理控制臺(tái)
               4、目錄部屬方式:即將WEB應(yīng)用目錄直接copy到glassfish/domains/domain1/applications/下
                  然后通過命令:glassfish/bin/asadmin deploydir full_path/applications/your_app

          參考:

               用 GlassFish v2 替換 Tomcat 5.x 

             在Glassfish上部署web應(yīng)用

          posted @ 2007-12-04 16:21 一凡 閱讀(6784) | 評(píng)論 (3)編輯 收藏
          存儲(chǔ)過程出下:(注:我使用的是oracle 10g)
           
          procedure aaaa(i_vc2mob      in varchar2--用戶號(hào)碼
                                   i_NUMSVCID    in PLS_INTEGER default null--SERVICECODEID
                                   i_prodid      in PLS_INTEGER default null--產(chǎn)品ID
                                   i_disordsrc   in PLS_INTEGER, --退定來源
                                   i_disordsrcid in NUMBER--退定來源ID
                                   i_datdisorder in date default sysdate, --退定時(shí)間
                                   o_prodid      out PLS_INTEGER, --返回產(chǎn)品ID 
                                   o_level       out PLS_INTEGER, --返回用戶級(jí)別
                                   o_flag        out PLS_INTEGER --返回狀態(tài)
                                   ) is



          在java中調(diào)用正確調(diào)用方法:
          {call aaaa('13472622059',1,1,21,4712032059528901,'',?,?,?)}

          如果這樣寫
          {call aaaa('13472622059',1,1,21,4712032059528901,,?,?,?)}
          就報(bào)如下異常:
          java.sql.SQLException: ORA-06550: 第 1 行, 第 67 列:
          PLS-00103: 出現(xiàn)符號(hào) ","在需要下列之一時(shí):
           ( - + case mod new not null
             others <an identifier> <a double-quoted delimited-identifier>
             <a bind variable> avg count current exists max min prior sql
             stddev sum variance execute forall merge time timestamp
             interval date
             <a string literal with character set specification>
             <a number> <a single-quoted SQL string> pipe
             <一個(gè)帶有字符集說明的可帶引號(hào)的字符串文字>
             <一個(gè)可帶引號(hào)的 SQL 字符串>
          符號(hào) "null" 被替換為 "," 后繼續(xù)。

              at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
              at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)
              at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288)
              at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:743)
              at oracle.jdbc.driver.T4CCallableStatement.doOall8(T4CCallableStatement.java:215)
              at oracle.jdbc.driver.T4CCallableStatement.executeForRows(T4CCallableStatement.java:954)
              at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1168)
              at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3285)
              at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:3390)
              at oracle.jdbc.driver.OracleCallableStatement.execute(OracleCallableStatement.java:4223)
              at com.pub.comm.db.DBDeal.callProcedures2(DBDeal.java:36)
              at com.pub.comm.db.Test.<init>(Test.java:15)
              at com.pub.comm.db.Test.main(Test.java:29)

          posted @ 2007-12-03 21:07 一凡 閱讀(21945) | 評(píng)論 (0)編輯 收藏
          僅列出標(biāo)題
          共21頁: First 上一頁 10 11 12 13 14 15 16 17 18 下一頁 Last 
          主站蜘蛛池模板: 城口县| 饶河县| 宜兰市| 永州市| 鸡东县| 吕梁市| 墨江| 高台县| 富锦市| 弋阳县| 大厂| 祁东县| 山西省| 仙桃市| 阿克| 闽清县| 桑植县| 安龙县| 沧州市| 诸暨市| 易门县| 江油市| 齐齐哈尔市| 西和县| 信阳市| 长海县| 历史| 军事| 双江| 崇信县| 阳新县| 喀喇沁旗| 宿州市| 司法| 洪雅县| 新干县| 基隆市| 邵武市| 那曲县| 邯郸县| 武穴市|