快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

上次java socket 的问题已解决,这次关于trigger问题了


解决问题的方式竟然是:

把BufferWriter换成PrintWrite就可以了,哇靠~ 这是怎么回事??难道BufferWriter和BufferReader有冲突?在BufferReader进行readLine()时,BufferWriter无法flush()和close()?怪怪

程序改成这样就没问题了,我的数据同步平台也可以运作了。

public class ServerThread extends Thread {    private int port;    public ServerThread(int port) {        this.port = port;    }

    private boolean stop = false;

    public void run() {        try {            ServerSocket server = new ServerSocket(port);            while (!stop) {                Socket client = server.accept();                BufferedReader read = new BufferedReader(new InputStreamReader(client.getInputStream()));                PrintWriter streamWriter = new PrintWriter(client.getOutputStream());//要害是这里                System.out.println("发送欢迎信息");

                streamWriter.println("欢迎xx");                streamWriter.flush();//假如用BufferWriter这句话就不起作用,也发不出去,所以客户端也无法收到

                String lineStr = read.readLine();                if ("开始".equals(lineStr)) {                    System.out.println("开始接受数据!");

                    while (true) {                        lineStr = read.readLine();                        if ("结束".equals(lineStr)) {                            break;                        } else {                            System.out.println("数据是" + lineStr);                        }                    }                }

                streamWriter.close();                read.close();                client.close();            }

        } catch (IOException ex) {            ex.printStackTrace();        }    }

    public static void main(String[] args) {        Thread server = new ServerThread(10020);        server.start();    }

    public boolean isStop() {        return stop;    }

    public void setStop(boolean stop) {        this.stop = stop;    }}

 

现在还碰到一个问题就是用java的jdbc在数据库生成trigger,竟然会报语法出错,不过还是在数据库中生成了trigger,而手工的用PL/SQL工具一运行就好了,这是怎么回事,怪~

详细是这样的:
stmt.executeUpdate(String triggerSql);数据库schema中生成了trigger,但是报错状态(不是Disable状态)然后用PL/SQL工具运行这个trigger,竟然没有任何问题
根据出错的提示信息我们发现似乎是jdbc的语法不支持比较复杂的SQL,那我们如何用程序生成trigger啊??
 



返回类别: 教程
上一教程: Javadoc 利弊分析(from IBM)
下一教程: Mini Java编译器(二)??语法(BNF)

您可以阅读与"上次java socket 的问题已解决,这次关于trigger问题了"相关的教程:
· 关于java socket的问题
· Java 关于中文乱码问题的解决方案与经验
· Java 关于中文乱码问题的解决方案与经验 (2)
· 关于JAVAMAIL处理中文附件的问题
· 深入JAVA中文问题及最优解决方式
    微笑服务 优质保证 索取样品