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
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
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>
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)注原始出處!
引用: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)


通過
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"));
}
}
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
2007年終于過去了,不管怎么樣都過去了,我應(yīng)該向前看,向前看,向著以后美好的生活?yuàn)^斗!
我使用的是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
一、下載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上部署web應(yīng)用
存儲(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)