JAVA实现批处理
实际项目中,经常需要对数据进行批量处理。[@more@] 下面这个例子,是从tab分隔的csv文件里读取数据,把数据写入hostname上的DBNAME的USER_MASTER里。 import java.io.*; import java.sql.*; import oracle.jdbc.*; public class Batch1 { private static String sDBConnect = "jdbc:oracle:thin:@hostname:1521:DBNAME"; private static String sDBUser = "user"; private static String sDBPassword = "password"; private static String sPath = "C:Batch"; private static String sFileName = "csvfile.txt";//f
JAVA实现FTP上传下载文件的功能
通过SOCKET,JAVA能简单地实现FTP功能。[@more@] 这个例子实现了文件上传和文件下载的功能。 import java.io.*; import java.net.*; public class JAVAFTP { private static final int CTRLPORT = 21; // ftp的端口 private static Socket sSocket; private static PrintWriter wOutput; private static BufferedReader bInput; private static byte[] localHost; //本地主机地址 public static void main(String[] args) { try { String sHost = "192.168.1.1"; String sl
巧用Table控件制作复合表头的报表
使用.NET的Table控件能灵活地定制各种合并行列的报表。[@more@] 项目要求实现一个比较复杂的报表,下面的代码定制了这个报表,并且能显示指定的图像。 注:tb是一个Table控件。 Protected WithEvents tbi As System.Web.UI.WebControls.Table ... Sub do_set_tb() Dim trow As TableRow Dim tcell As TableCell With tb .Rows.Clear() .Width = System.Web.UI.WebControls.Unit.Parse("2048px") End With trow = New
Windows 脚本文件
Windows 脚本文件 (*.wsf) 是含有可扩展标记语言 (XML) 代码的文本文档。[@more@] 它综合了几个可增强脚本灵活性的功能。由于 Windows 脚本文件不是特定于引擎的,因此它们可包含与 Windows 脚本兼容的任何脚本引擎中的脚本。它们充当容器。 使用 .wsf 文件,可以在创建脚本时使用以下功能: Include 语句 如果您的 .js 和 .vbs 文件来自以前版本的 Windows 脚本宿主项目,则 .wsf 文件允许您将它们用于 Windows 脚本宿主。.wsf 文件封装了一个可以被多个 .wsf 文件使用的函数库。 下面的示例显示包含 JScript 文件 (fso.js) 的.ws
巧用WebLogic的Administrator Console
WebLogic服务器的很多配置都是通过WebLogic Server Console设置的。[@more@]1,登录http://hostname:7001/console,输入管理员的用户名和密码登录BEA WebLogic Server Console。注:hostname是安装WebLogic的服务器名称。2,Web应用打开域配置的Web应用,追加新的WebApplication。1)指定WebApplication所在的文件夹,点击[select]2)从使用可能的服务器中选择服务器,点击[->],把选中的服务器移动到对象服务器列表中3)输入应用名4)点击[配置]按钮,保存配置 3,JDBC连接池从服务配置的JDBC连接池配置JDBC连接池,连接(ORACLE)数据
WindowsXP上的WebLogic安装及配置
WindowsXP上安装配置WebLogic的实战[@more@]一、安装WebLogic WebLogic 7.07安装在C:/bea下,mydomain域的配置目录为,C:/bea/user_projects/mydomain。 第二,每次启动时都需要输入密码,所以很讨厌,可以通过修改C:/bea/user_projects/mydomain目录下的,startWebLogic.cmd文件达到目的。在该文件中定位出: set WLS_USER= set WLS_PW= 两行。然后追加上您的用户名和密码就可以了。 第三,初次进入控制台,由于控制台左边用了Applet,如果您的机器另外安装了其他版本的jdk,这个时候系统启动Java-Plug-in,速度很慢。
itextsharp制作pdf
itextsharp.dll可以随意定做PDF文件。[@more@]ASP.NET中可以很方便地使用itextsharp生成PDF文件,能够自定义列宽,字体,边框等等。 点击下载itextsharp.dll 《用C#制作PDF文件全攻略》是一个网友整理出来的很详细的参考文档,大家可以点击这个链接下载。用C#制作PDF文件全攻略 与《用C#制作PDF文件全攻略》配套的示例代码,提供了大量的制作各种格式PDF的的例子。示例代码
PL/SQL基础(二)匿名块
匿名块是一种没有名字的块。[@more@]这些块在运行它们的应用程序中说明,并且为了执行在运行时由PL/SQL引擎通过。匿名块可以嵌入预编译程序(或OCI程序)、以及SQL*PLUS或SQL*DBA中。SQL*Forms中的触发器也由这些块组成,匿名块用得较多。 匿名块的定义形式为: DECLARE --说明 BEGIN --语句序列 EXCEPTION --例外处理程序] END; 一个PL/SQL块由三部分组成:说明部分,可执行部分和例外处理部分。 在说明部分中允许说明变量和常量等PL/SQL对象,这些对象在块中引用,或在嵌套的子块中引用。说明部分
PL/SQL基础(一)简介PL/SQL
PL/SQL 是 Oracle 对行业标准 SQL 的过程扩展。[@more@]PL/SQL 自然、高效和安全地扩展了 SQL。它最大的优点是提供了一种服务器端存储过程语言。该语言安全、强健、易于使用,与 SQL 无缝连接并可移植。 PL/SQL块结构 PL/SQL是一种块结构的语言,组成PL/SQL程序的单元是逻辑块,一个PL/SQL 程序包含了一个或多个逻辑块,每个块都可以划分为三个部分。与其他语言相同,变量在使用之前必须声明,PL/SQL提供了独立的专门用于处理异常的部分,下面描述了PL/SQL块的不同部分: 声明部分(Declaration section) 声明部分包含了变
Web组件开发人员认证合格
今天通过Sun的Web组件开发人员认证考试了。[@more@]看了一个多月的书,壮着胆子去考了考,还算幸运,76%的命中率通过了。Sun Java 2平台企业版1.4认证Web组件开发人员(CX-310-081)
CONNECT_BY_ROOT实现行列转换
10g以下版本的ORACLE可以通过DECODE等实现行列转换,[@more@] ORACLE 10g开始新增的CONNECT_BY_ROOT能比较方便地实现行列转换。 例: 有一表ABC,字段信息包括region(地区),name(国家),population(人口)。 表中记录信息如下: region name population A A1 1000 A A2 5000 B B1 2000 B B2 3000 ...... 要求用sql查询语句实现以下结果: A_num B_num ...... 6000 5000 ...... 实现: SQL>Create Table ABC ( region Char(10), Name Char(20), population Number ); /
SQL基础(十四)阶层查询
ORACLE 10g新增了阶层查询操作符PRIOR,CONNECT_BY_ROOT[@more@] ■PRIOR 阶层查询的CONNECY BY condition的条件式需要用到PRIOR来指定父节点, 作为运算符,PRIOR和加(+)减(-)运算的优先级相同。 ■阶层查询 语法:START WITH condition CONNECT BY NOCYCLE condition START WITH 指定阶层的根 CONNECT BY 指定阶层的父/子关系 NOCYCLE 存在CONNECT BY LOOP的纪录时,也返回查询结果。 condition ... PRIOR expr = expr 或者 ... expr = PRIOR expr 例: CONNECT BY last_name != 'King' AND PRIOR employee_id = man
不使用索引的查询
尽管创建了索引,但是由于不适当的查询条件,往往会导致索引失效。[@more@]SQL>CREATE TABLE tTest(id1 char(10) NOT NULL,id2 char(10) NOT NULL,id3 char(10) NOT NULL,name varchar2(100),value number(8));SQL>CREATE INDEX idx_tTest_1 ON tTest(id1);SQL>CREATE INDEX idx_tTest_2 ON tTest(name);SQL>CREATE INDEX idx_tTest_3 ON tTest(value);SQL>CREATE INDEX idx_tTest_4 ON tTest (id1,id2,id3);■ 索引列使用NOT比较时 × select * from tTest where id1 <> '001'; × select * from tTest where
实现.KML和.KMZ 文件的下载
缺省情况下,操作系统会把他们作为.XML文件在浏览器端打开,而不是下载。[@more@]我们可以通过下面这个链接,了解到解决的方法:http://earth.google.com/kml/kml_tut.html......Google Earth reads KML and KMZ files. The MIME type for KML files is application/vnd.google-earth.kml+xml The MIME type for KMZ files is application/vnd.google-earth.kmz For Apache, add these lines to the httpd.conf file:AddType application/vnd.google-earth.kml+xml .kml AddType application/vnd.google-earth.kmz .kmz ......■Windows W
16进制反转,再算出十进制
为了解答网友的问题,写了一个简单的例子:[@more@]■网友提问:我想把四个字节的16进制数据反转如:E2 26 C3 25 ---->25 C3 26 E2然后求出反转后的四个字节合起来的十进制值:633546466 (计算器求出来的)■实现的例子:String hexstr,tenstr;long l;hexstr = "E226C325";char c1[] = hexstr.toCharArray();String str[] ={"","","",""};int j=0;for(int i=0;i<c1.length;i++){if (i%2==0){str[i/2] = hexstr.substring(j,j+2);j = i+2;}}hexstr = "";for(int i=str.l
判断字符串只包含字母或者数字
ORACLE 10g新增了正则表达式,可以通过正则表达式实现,也可以通过自定义的函数实现:[@more@]create or replace function getStringType(stext in varchar2) return varchar2 is Result varchar2(4000); idx Number; ilen Number; inum Number; bnum Boolean; bchar Boolean; begin Result := ''; bnum := False; bchar := False; idx := 0; ilen := length(trim(stext)); For idx In 0 .. ilen -1 Loop inum := ascii(substr(stext,idx,1)); If inum >= 48 And inum <= 57 Then bnum := Tr
快速删除重复纪录
删除tTest表里字段col1值相同的纪录:[@more@]■首先通过如下的SQL查询重复的纪录SQL>SELECT * FROM tTest t1 WHERE rowid=(SELECT MIN(rowid) FROM tTest t2 WHERE t1.col1=t2.col1 HAVING COUNT(*)>1);■确认无误后,删除这些重复的纪录。SQL>DELETE FROM tTest t1 WHERE rowid>(SELECT MIN(rowid) FROM tTest t2WHERE t1.col1=t2.col1);■确认重复纪录是否删除:SQL>SELECT * FROM tTest t1 WHERE rowid=(SELECT MIN(rowid) FROM tTest t2 WHERE t1.col1=t2.col1 HAVING COUNT(*)>1);■如果没有记录返回,则重复纪录
SQL基础(十三)正则表达式
ORACLE 10g新增了正则表达式 REGEXP_LIKE,REGEXP_INSTR,REGEXP_SUBSTR,REGEXP_REPLACE[@more@]■REGEXP_LIKE模糊匹配操作符REGEXP_LIKE(source_string, pattern[, match_parameter]) source_string 支持字符数据类型(CHAR、VARCHAR2、CLOB、NCHAR、NVARCHAR2 和 NCLOB,但不包括 LONG)。pattern 参数是正则表达式的另一个名称。match_parameter 允许可选的参数(如处理换行符、保留多行格式化以及提供对区分大小写的控制)。 检索 tTest 表中的那些 code 列值包含了任意非数字字符的行。SELECT codeFROM tTestWHERE REGEXP_LIKE(code, '
SQL基础(十二)MERGE语句
MERGE语句是Oracle9i新增的语法,用来合并UPDATE和INSERT语句。[@more@]通过MERGE语句,根据一张表或子查询的连接条件对另外一张表进行查询,连接条件匹配上的进行UPDATE,无法匹配的执行INSERT。■语法MERGE [hint] INTO [schema .] { table | view } [t_alias] USING [schema .] { table | view | subquery } [t_alias] ON ( condition ) WHEN MATCHED THEN UPDATE SET {column={expr|DEFAULT},} where_clauseDELETE where_clauseWHEN NOT MATCHED THEN INSERT (column,) VALUES ({expr|DEFAULT},) where_clauseLOG ERRORS INTO [schema
SQL基础(十一)分析函数
分析函数ROW_NUMBER,LAG/LEAD,RANK/DENSE_RANK[@more@](一)ROW_NUMBERROW_NUMBER抽取前n条,后n条,中间n条记录。CREATE TABLE cxck.tTEST(TYPE NUMBER(3,0),ID NUMBER(3,0),CODE VARCHAR2(10));通过ORDER BY抽取检索结果的第5到第10条记录SELECT ID,CODE FROM (SELECT ID,CODE,ROW_NUMBER() OVER (ORDER BY ID) NUMFROM tTEST) WHERE NUM BETWEEN 5 AND 10;通过PARTITION BY,ORDER BY抽取查询结果的第5条到第10纪录。SELECT ID,CODE FROM (SELECT ID,CODE,ROW_NUMBER() OVER (PARTITION BY TYPE ORDER BY ID) NUMFROM tTEST) WHERE