首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ora-12519,没有找到合适的服务处理程序。

ora-12519,没有找到合适的服务处理程序。
EN

Stack Overflow用户
提问于 2015-04-07 15:48:09
回答 1查看 848关注 0票数 1

每当我在代码中使用无限循环时,我都会得到ORA-12519不合适的服务处理程序-异常。但是,这段代码在其他系统中工作得很好。

这是我的密码

代码语言:javascript
复制
public static void main(String args[]) {
    try {
        Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
        String dbHost = "localhost";
        String database = "scott";
        String dbUsername = "scott";
        String dbPassword = "scott";
        String smsReceiver = "";

        String dbUrl = "jdbc:oracle:thin:@localhost:1521:xe";

        while (true) {
            ResultSet rs = null;
            conn = DriverManager.getConnection(dbUrl, dbUsername, dbPassword);

            try {
                Statement smnt = null;
                smnt = conn.createStatement();
                String sql = "select count(*) from ozekismsin";
                rs = smnt.executeQuery(sql);
                rs.next();

                int count = rs.getInt(1);
                if (count != 0) {
                    System.out.println("success");
                    sql = "select * from ozekismsin";
                    rs = smnt.executeQuery(sql);
                    rs.next();
                    String msg = rs.getString("msg");
                    // smsReceiver=rs.getString("sender");
                    System.out.println(msg);
                    StringTokenizer st = new StringTokenizer(msg, " ");
                    st.nextToken();
                    String source = st.nextToken();
                    st.nextToken();
                    String dest = st.nextToken();
                    System.out.println(source + " " + dest);
                    PreparedStatement preparedStatement = null;
                    sql = "select id from new1 where name=?";
                    preparedStatement = conn.prepareStatement(sql);
                    preparedStatement.setString(1, source);

                    rs = preparedStatement.executeQuery();

                    rs.next();

                    int s = rs.getInt("id");
                    System.out.println(source + " " + dest);
                    sql = "select id from new1 where name=?";
                    preparedStatement = conn.prepareStatement(sql);
                    preparedStatement.setString(1, dest);
                    System.out.println(s);
                    rs = preparedStatement.executeQuery();
                    rs.next();
                    int d = rs.getInt(1);
                    a = s;

                    test1 ob = new test1();
                    ob.dijkstra(s, d);

                    String sqlInsert = "INSERT INTO "
                            + "ozekismsout (receiver,msg,status) "
                            + "VALUES " + "('" + smsReceiver + "','"
                            + message + "','send')";

                    if (smnt.executeUpdate(sqlInsert) != 0) {
                        System.out.println("OK");
                        System.out.println(message);
                    } else {
                        System.out.println("ERROR");
                    }
                    sql = "delete from ozekismsin";
                    smnt.executeQuery(sql);
                    sql = "commit";
                    smnt.executeQuery(sql);
                } // end of if

                smnt.close();
                conn.close();
            } // end of try in while
            finally {
                try {
                    rs.close();
                } catch (Exception e) {
                    System.out.println("exception caught");
                }
            } // end of finally
        } // end of while
    } // end of outer try
    catch (Exception ex) {
        System.out.println("Exception: " + ex.getMessage());
        ex.printStackTrace();
    }
} // end of main

这段代码在其他系统中工作得很好。但在这里,只有当我移除无限循环时,它才能工作。

请大家帮帮我。

EN

回答 1

Stack Overflow用户

发布于 2015-04-07 21:11:31

错误ORA-12519可能是由当前连接使用(例如concurrernt会话)超出了Oracle实例允许的最大数量所引起的。

让您的DBA告诉您哪些连接限制是强制的--这些设置是特定于数据库的,有些值有默认值。问。

正如您的代码循环@AlexPoole指出的那样,您正在耗尽资源--例如,您可能正在创建一系列连接,而不是释放它们。我不能确定。12519错误是连接资源问题。句号。你是怎么做到的我不知道。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29495707

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档