PLSQL Developer + Oracle客户端简易安装方法 cloudy

之前一直都是用eclipse自带的Data Source Explorer访问Oracle数据库,可是只能简单地查看,而且很多字段不兼容。
今天开始使用PLSQL Developer连接远程Oracle数据库的时候,提示我没有安装Oracle客户端,才知道PLSQL Developer不是独立的软件,是要基于Oracle客户端运行的。

下面就介绍一下没有安装Oracle数据库的情况下,单独安装一个客户端。

1、到Oracle官方网站下载一个客户端:http://www.oracle.com/technology/global/cn/software/tech/oci/instantclient/index.html

2、我这里选择的是:即时客户端程序包 — Basic: 运行 OCI、OCCI 和 JDBC-OCI 应用程序所需的所有文件(instantclient-basic-win32-11.1.00.70.0.zip)

3、将安装包解压和重命名为:D:\OracleInstantClient_11_1

4、设置环境变量:
 1.;D:\OracleInstantClient_11_1; (在PATH环境变量追加)
 2.SET TNS_ADMIN=D:\OracleInstantClient_11_1 (新建)
 3.SET NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK (新建,防止查询乱码)

5、指定需要连接的实例名字,在D:\OracleInstantClient_11_1目录下新建一个tnsnames.ora文件,然后填入
192.168.8.201 =
...

Struts2标签和EL表达式混合使用会导致乱码 suny

今晚在配置Struts2环境的时候,遇见了中文乱码啦。配置了struts.i18n.encoding和SetCharacterEncodingFilter还是不行,最后发现如下规律:

Struts2标签和EL表达式混合使用会导致乱码:

如图所示,如果s2标签的值用el表达式代替的话,会导致中文乱码。

...

Oracle 分页和排序问题探讨 cloud

1、在ORACLE中,rownum是一个伪列,对于这个列,只能使用"<"或者"<="这两个操作符
2、它一定是从1开始的,不能跨过1;
3、不能用:>,>=,=,Between...and。由于rownum是一个总是从1开始的伪列,Oracle 认为这种条件不成立,查不到记录。执行总是显示:未选定行。

如果要使用  >,>=,=,Between...and 操作符,可以使用子查询把rownum转为实际列:
select namef from (select rownum r,namef from tablename)t where r > 10;
...

Oracle 异常: ORA-12541: TNS:no listener;无监ting器 cloud

Oracle Io异常: The Network Adapter could not establish the connection

今天刚上班,启动项目时总是报(Io异常: The Network Adapter could not establish the connection),昨天还好好的呢,今天怎么就不行了?使用 telnet 192.168.8.201 1521测试连不通,还以为是防火墙搞鬼;而跑到服务器上面关闭服务器防火墙还是不行,并且直接telnet 127.0.0.1 1521还是不通。到此可以确定是oracle的服务异常了。

解决方法
1、首先打开oracle配置和移植工具 --> Net manager --> 本地   --> 监听程序 -- > listener --> (TCP/IP协议的)网络地址 ---> 把主机那一项改为"localhost";然后点击:本地-->服务命名-->(TCP/IP协议的)网络地址 ---> 把主机名那一项改为"localhost"。
...

Java将CST的时间字符串转换成需要的日期格式字符串 cloud

下列代码可以实现把Java的CST格式的时间字符串转为为Date对象和所需要的日期时间格式!

String dateStr = "Wed Sep 16 11:26:23 CST 2009"; 
SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy", Locale.US);

//java.util.Date对象
Date date = (Date) sdf.parse(dateStr);

//2009-09-16
String formatStr = new SimpleDateFormat("yyyy-MM-dd").format(date);
...

Windows2003 IIS6整合PHP5.3.0(FastCGI) suny

最近要帮朋友修改一些php程序,而自己一直从事java/jsp开发工作,虽然早前配置过几次php环境,毕竟都是过去了。

今晚按照以往的经验去安装php5.3.0,结果折腾了一个小时才解决!

PHP For Windows: http://windows.php.net/download/

...

把SQL2005的表数据导出到Excel文件当中 suny

用法: bcp {dbtable | query} {in | out | queryout | format} 数据文件
  [-m 最大错误数]             [-f 格式化文件]         [-e 错误文件]
  [-F 首行]                   [-L 末行]             [-b 批大小]
  [-n 本机类型]               [-c 字符类型]         [-w 宽字符类型]
  [-N 将非文本保持为本机类型] [-V 文件格式版本]     [-q 带引号的标识符]
  [-C 代码页说明符]           [-t 字段终止符]       [-r 行终止符]
...

使用iBatis获取JDBC数据库链接对象,直接执行SQL suny

在日常开发当中,我们可能会遇到这种情况,想使用单独一条SQL更新某一个字段,如果没有配置详细的VO和sqlMap-xml映射,一般人第一反应就是使用JDBC直接操作。
以下的做法只是"偷懒的",不推荐时常或者全部使用这种做法!这种做法等于直接在代码中写sql,脱离了iBatis的框架,会导致代码可读性差和维护困难。

//sqlMapClient 为你的 sqlMapClient 对象,具体获取方法由当前代码决定

String updateSql = "UPDATE ARCHIVE SET groupId=´"+ groupId + "´ where id="+ id;
Connection conn = sqlMapClient.getDataSource().getConnection();
conn.setAutoCommit(true);

Statement stm = conn.createStatement();
int n = stm.executeUpdate(updateSql);

得到Connection对象后,就可以使用它直接做JDBC的操作了,可以进行直接的增删改查。

Tomcat5 ActiveXComponent("Word.Application"); 报错 cloudy

今天在维护一个项目的时候,突然碰到一个问题:
public Wordjdocb() {
        word = new ActiveXComponent("Word.Application");
        word.setProperty("Visible", new Variant(false));
        documents = word.getProperty("Documents").toDispatch();
        saveOnExit = false;
...

Java ajax 中文乱码解决方案 rainy

好久不用ajax,今天需要用到,却因为提交的中文乱码问题郁闷了半天,特整理出来与大家分享!

ajax Js 客户端:
var data = "words="+encodeURI(encodeURI(_word));   //  注意,这里把需要提交的中文字符串进行两次encodeURI
xmlhttp.open("post",postAction, true);   
xmlhttp.setRequestHeader('Content-type','application/x-www-form-urlencoded');
xmlhttp.send(data);

ajax Java 服务器端:
String words= request.getParameter("words");
...


Total:71123456788 Pages