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
--查找扩展码
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)
--游标移动
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 一凡 阅读(310) |
评论 (0) |
编辑 收藏
1、对远程表执行 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 动态执行
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 一凡 阅读(4422) |
评论 (0) |
编辑 收藏
1:使用SHOW语句找出在服务器上当前存在什么数据库:
mysql> SHOW DATABASES;
2:创建一个数据库MYSQLDATA
mysql> CREATE DATABASE MYSQLDATA;
3:选择你所创建的数据库
mysql> USE MYSQLDATA; (按回车键出现Database changed 时说明操作成功!)
4:查看现在的数据库中存在什么表
mysql> SHOW TABLES;
5:创建一个数据库表
mysql> CREATE TABLE MYTABLE (name VARCHAR(20), sex CHAR(1));
6:显示表的结构:
mysql> DESCRIBE MYTABLE;
7:往表中加入记录
mysql> insert into MYTABLE values ("hyq","M");
8:用文本方式将数据装入数据库表中(例如D:/mysql.txt)
mysql> LOAD DATA LOCAL INFILE "D:/mysql.txt" INTO TABLE MYTABLE;
9:导入.sql文件命令(例如D:/mysql.sql)
mysql> use database;
mysql> source d:/mysql.sql;
10:删除表
mysql> drop TABLE MYTABLE;
11:清空表
mysql> delete from MYTABLE;
12:更新表中数据
mysql> update MYTABLE set sex="f" where name=hyq;
此外,Linux下经常使用的命令:
1:导入数据库备份文件的方法:
root: mysql –u数据库帐户 –p密码 数据库名 < .sql备份文件
2:MySql的用户管理是通过User表来实现的,添加新用户常用的方法有两个,一是在User表插入相应的数据行,同时设置相应的权限;二是通过GRANT命令创建具有某种权限的用户。其中GRANT的常用用法如下:
mysql>
3:清空文件内容:
cat /dev/null > 文件名
4:添加帐户:
useradd 用户名 –d 目录名 –s /sbin/nologin(不允许该用户直接登录服务器)
5:设置帐户密码
passwd 用户名
特别注意:
刚安装好的MySql包含一个含空密码的root帐户和一个匿名帐户,这是很大的安全隐患,对于一些重要的应用我们应将安全性尽可能提高,在这里应把匿名帐户删除、 root帐户设置密码,可用如下命令进行:
use mysql;
delete from User where User="";
update User set Password=PASSWORD(newpassword) where User=root;
引用
作者: 郝聪
原载:
黑色梦中SEO博客
版权所有,转载时请注明作者并以链接形式标注原始出处!
posted @
2008-02-27 10:15 一凡 阅读(235) |
评论 (0) |
编辑 收藏
引用:http://epub.itpub.net/4/8.htm
有两种方法:(推荐使用第二种)
1、在查询分析器中执行sp_addlinkedserver
USE master
GO
EXEC sp_addlinkedserver
@server = 'xzh.world', --ORACLE链接服务器的名称
@srvproduct = 'Oracle', --固定不变的
@provider =
'MSDAORA',
--固定不变的
@datasrc = 'xzh.world' --Net8中的服务器别名(网络服务名)
2、在企业管理器中
1)在sql server2000 的企业管理器里面, 找到安全性->链接服务器->新建
2)在新建对话框"常规"选项卡里面, 选择Microsoft ole db provider for oracle驱动. 产品名称固定填为"Oracle", 数据源就是上面建立的网络名称ora. 提供程序字符串填为 "MSDAORA".
3)在新建对话框"安全性" 选项卡里面, 选择" 用此安全上下文进行:", 输入oracle9i server为你分配的用户名和密码.
4)在"常规"选项卡里面输入你为该链接服务器取的名称
3、如何引用ORACLE链接服务器中的数据
Select top 10 * from OpenQuery(linkname, 'Select * from user.tablename')
(END)


posted @
2008-02-19 17:54 一凡 阅读(878) |
评论 (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 {
// 构建Workbook对象, 只读Workbook对象
Workbook workbook = Workbook.getWorkbook(f);
// 获取第一张Sheet表
Sheet sheet = workbook.getSheet(0);
// 获取行数
int rows = sheet.getRows();
// 获取列数
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));
// 生成名为“第一页”的工作表,参数0表示这是第一页
sheet = book.createSheet("第一页", 0);
// 打开文件
for (int i = 0; i < vec.size(); i++) {
// 在Label对象的构造子中指名单元格位置是第一列第一行(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);
}
}
// 写入数据并关闭文件
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 一凡 阅读(394) |
评论 (0) |
编辑 收藏
seq命令的作用就是打印出一串有序的数字,它主要有以下3个参数构成:
-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 指定分隔符 默认是回车:
例如:
[root@hao32]# seq -s" " 2 7
2 3 4 5 6 7
-w, --equal-width
equalize width by padding with leading zeroes
-w 输出是同宽 前面不足的用 "0" 补全,即与位数最多的数对齐
例如:
[root@hao32]# seq -w 2 11
02
03
04
05
06
07
08
09
10
11
欢迎转载本文,请注明来自:
http://www.linuxsense.org
posted @
2008-01-09 15:43 一凡 阅读(1609) |
评论 (0) |
编辑 收藏
2007年终于过去了,不管怎么样都过去了,我应该向前看,向前看,向着以后美好的生活奋斗!
posted @
2008-01-02 17:03 一凡 阅读(232) |
评论 (0) |
编辑 收藏
我使用的是GlassFish-v2-b58g和resin-3.1.2,在相同的应用和网络环境下处理5000次请求用时情况如下:
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小时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 一凡 阅读(507) |
评论 (0) |
编辑 收藏
一、下载GlassFish
https://glassfish.dev.java.net/downloads/v2-b41d.html
二、安装
1、需要JDK1.5 如果没有请下载
2、解压
%java -Xmx256m -jar
filename.jar
3、进入glassfilsh目录
% cd glassfish
4、在setup.xml里设置端口:
<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是管理后台端口,用户名/密码: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启动和关闭命令
./bin/asadmin start-domain domain1
./bin/asadmin stop-domain domain1
四、应用部属
有4种方式:
1、可以直接将war或ear放在glassfish/domain/domain1/autodeploy目录下,glassfish启动后会自动部署
2、是通过命令asadmin deploy部署应用, 另外 asadmin updeploy 卸载应用
通过asadmin deploy --help 和 asadmin undeploy --help 获得更多帮助
3、通过glassfish管理控制台
4、目录部属方式:即将WEB应用目录直接copy到glassfish/domains/domain1/applications/下
然后通过命令:glassfish/bin/asadmin deploydir full_path/applications/your_app
参考:
在Glassfish上部署web应用
posted @
2007-12-04 16:21 一凡 阅读(6777) |
评论 (3) |
编辑 收藏
存储过程出下:(
注:我使用的是oracle 10g)
procedure aaaa(i_vc2mob in varchar2, --用户号码
i_NUMSVCID in PLS_INTEGER default null, --SERVICECODEID
i_prodid in PLS_INTEGER default null, --产品ID
i_disordsrc in PLS_INTEGER, --退定来源
i_disordsrcid in NUMBER, --退定来源ID
i_datdisorder in date default sysdate, --退定时间
o_prodid out PLS_INTEGER, --返回产品ID
o_level out PLS_INTEGER, --返回用户级别
o_flag out PLS_INTEGER --返回状态
) is
在java中调用正确调用方法:
{
call aaaa('13472622059',1,1,21,4712032059528901,'',?,?,?)}
如果这样写
{
call aaaa('13472622059',1,1,21,4712032059528901,,?,?,?)}
就报如下异常:
java.sql.SQLException: ORA-06550: 第 1 行, 第 67 列:
PLS-00103: 出现符号 ","在需要下列之一时:
( - + 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
<一个带有字符集说明的可带引号的字符串文字>
<一个可带引号的 SQL 字符串>
符号 "null" 被替换为 "," 后继续。
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 一凡 阅读(21937) |
评论 (0) |
编辑 收藏