你的位置:首页 > Java教程

[Java教程]SQLServer解析xml到Oracle

写了一个程序:根据状态位读取SQLserver 中的一张表,下载其中一个字段的值,这个值是

我的思路是用java写个webservice,然后再用C#写个windows 服务每过30分钟运行一次。用java写业务是因为我觉得java操作oracle相对方便一点。用C#写windows服务是是因为我只知道能用C#写windows service,后台静默运行挺好。

看似简单的程序,最后真正实现需求居然也花了3天时间,因为遇到了几个小问题,并且还有未解决的。

接下来罗列一下遇到的问题。

Q1 java解析

已解决:参考http://www.ibm.com/developerworks/cn/

用的是第一种DOM方法

 

Q2 java jdbc连接Oracle数据库问题

已解决:关键代码如下

String driverClassName = "oracle.jdbc.driver.OracleDriver";

String url = "jdbc:oracle:thin:@//192.168.101.22:1521/orcl";

注意,java代码里的sql语句最后不要写分号,否则会报错 java.sql.SQLSyntaxErrorException: ORA-00911: 无效字符 。

 

Q3 java 怎么写一个webservice

已解决:

参考:http://javapapers.com/web-service/java-web-service-using-eclipse/

写好java 类以后(Dynamic Web Project工程下),直接右击新建webservice。

需要注意的是,要生成的方法必须是小写字母开头的,否则就无法调用了。java里方法要小写开头!

我用java 写好了一个Service类。接下来就是

 

Q4 下载好了

引起这个问题的原因是,java下载

http://bbs.itheima.com/thread-29901-1-1.html

http://blog.csdn.net/zhangzhikaixinya/article/details/7727938 这种方法我没试过

代码实现

 1   /** 2    * 写日志 3    * @param logpath 日志文件路径 4    * @param logtext 日志内容 5   */ 6   public void WriteLog(String logpath,String logtext) 7   { 8     File file = new File(logpath); 9     10     try11     {12       //Writer out = new FileWriter(file,true);13       OutputStreamWriter out = new OutputStreamWriter(new FileOutputStream(file, true),"utf-8");14       out.write(logtext);15       out.close();16     } catch (IOException e)17     {18       // TODO Auto-generated catch block19       e.printStackTrace();20     }21   }

写文件指定UTF-8编码

 

Q5 写好了程序,发布本地,测试通过,发布到远程服务器上,调用提示404 找不到资源。我用C#调用的java webservice。

未解决……

暂时就本地运行。