小编Har*_*ger的帖子

java中有YYYYWW格式吗

有没有办法在Java中使用YYYYWW格式的日期?一个月中有一周,但有没有办法找到一年中的一周?

java date

3
推荐指数
1
解决办法
7007
查看次数

带有返回值的存储过程

我有一个存储过程"test",看起来像:

CREATE PROCEDURE test
@name varchar(32)  
AS
DECLARE 
        @login_status  TINYINT, 
    @syb_login   varchar(20),
        @syb_pass   varchar(20)
...
..     


BEGIN   
            SELECT @status = 0
            SELECT @login as login,
                   @pass as pass,
                   @status as status   
             RETURN 0 
        END
Run Code Online (Sandbox Code Playgroud)

我需要将一个输入参数"myName"作为输入参数传递给此过程,然后返回登录,传递和状态作为输出(仅来自一个记录)参数.

在JDBC中,我试着像下面这样做:

 String query = "{call test(?,?,?)}";
    System.out.println(query);
    CallableStatement proc = null;
    ResultSet rs;
    try {
        proc = connection.prepareCall(query);
        proc.setString(1, "myName");

    proc.registerOutParameter(2, java.sql.Types.VARCHAR);
    proc.registerOutParameter(3, java.sql.Types.VARCHAR);

    proc.execute();

    System.out.println(proc.getString(2));
Run Code Online (Sandbox Code Playgroud)

这总是给出例外:

java.sql.SQLException: JZ0SG: A CallableStatement did not return as many output parameters as the application had registered for it. …
Run Code Online (Sandbox Code Playgroud)

java sql-server stored-procedures jdbc

2
推荐指数
1
解决办法
9427
查看次数

Hive查询 - INSERT OVERWRITE LOCAL DIRECTORY为单个表创建多个文件

我从hive表myTable中执行以下操作.

INSERT OVERWRITE LOCAL DIRECTORY'/ myDir/out'SELECT concat_ws('',NAME,PRODUCT,PRC,field1,field2,field3,field4,field5)FROM myTable;

因此,此命令在文件夹out /中生成2个文件000000_0和000001_0.

但是,我需要将内容作为单个文件.我该怎么办?

hive

1
推荐指数
2
解决办法
1万
查看次数

Java 1.6 - 从执行程序服务线程返回Main类

我正在使用Executor Service创建3个线程(扩展Runnable)并提交它们,从我的Main类执行三个任务.如下所示:

    ExecutorService executor = Executors
                        .newFixedThreadPool(3);

                A a= new A();
                B b= new B();
                C c= new C();

                /**
                 * Submit/Execute the jobs
                 */
                executor.execute(a);
                executor.execute(b);
                executor.execute(c);
                try {
                    latch.await();
                } catch (InterruptedException e) {
                    //handle - show info
                    executor.shutdownNow();
                }
Run Code Online (Sandbox Code Playgroud)

当线程中发生异常时,我抓住它并执行System.exit(-1).但是,如果发生任何异常,我需要返回主类并在那里执行一些语句.这该怎么做?没有FutureTask,我们可以从这些线程返回一些东西吗?

java multithreading executorservice threadpoolexecutor

1
推荐指数
1
解决办法
169
查看次数

Java BufferedWriter非常慢 - 300 MB的数据

我正在逐行读取由固定长度记录组成的文本文件,并附加一些值,然后写入另一个文件.

像往常一样,我使用BufferedWriter,发现它需要大约20分钟来读取,附加值并写入另一个文件.

BufferedWriter br = new BufferedReader(new FileReader(infile));
if (br != null) {
    for (String line; (line= br.readLine()) != null;) {
        i= i+ 1;
        line += "    " + String.format("%09d", i) + "S";
        try {
            bw = new BufferedWriter(new FileWriter("out.txt",
                    true));
            bw.write(line);
            bw.newLine();
            bw.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
Run Code Online (Sandbox Code Playgroud)

这是我用过的代码.读取整个文件并附加值仅需7秒,但写入文件似乎很慢.我知道BufferedWriter的速度要慢得多.我没有增加缓冲区大小,因为我正在逐行阅读,出于同样的原因没有尝试nio.

建议我提高速度的方法?

java

0
推荐指数
1
解决办法
1270
查看次数

@SqlQuery 抛出 org.skife.jdbi.v2.exceptions.UnableToExecuteStatementException: java.sql.SQLException: SQL Anywhere Error -131

当我执行:

  @SqlQuery("select A.field1, A.field2, C.field3, C.field4, C.field5 from "
  + "table1 A, table2 B, table3 C WHERE A.field2 >= '1500' AND A.field2 < '9500' "
  + "AND A.field1 NOT IN (SELECT field1 FROM table4) AND A.field1 = B.field1  AND "
  + "(B.field3 = 'NAME' OR B.field3 ='STRT') order by A.field1 ASC") 
Run Code Online (Sandbox Code Playgroud)

我不断收到以下错误:

problem parsing template 'c2VsZWN0IEEuVVBDX05VTSwgQS5NT0RVTEVfTlVNLCBDLkNIUl9OTSwgQy5DSFJfQ0QsIEMuVkwgZnJvbSBVUEMgQSwgVVBDX0NIUiBCLCBDSFJfVkwgQyBXSEVSRSBBLk1PRFVMRV9OVU0gPj0gJzEwMDAnIEFORCBBLk1PRFVMRV9OVU0gPCAnOTAwMCcgQU5EIEEuVVBDX05VTSBOT1QgSU4gKFNFTEVDVCBVUENfTlVNIEZST00gVVBDX0FDVFYpIEFORCBBLlVQQ19OVU0gPSBCLlVQQ19OVU0gIEFORCAoQi5DSFJfTk0gPSAnQlJBTkQnIE9SIEIuQ0hSX05NID0nVFlQRScpIEFORCBCLk1PRFVMRV9OVU0gPSBDLk1PRFVMRV9OVU0gIEFORCBCLkNIUl9OTSA9IEMuQ0hSX05NICBBTkQgQi5DSFJfQ0QgPSBDLkNIUl9DRCBvcmRlciBieSBBLlVQQ19OVU0gQVND'
line 1:373: expecting '>', found '<EOF>'
at org.antlr.stringtemplate.language.AngleBracketTemplateLexer.nextToken(AngleBracketTemplateLexer.java:149)
at antlr.TokenBuffer.fill(TokenBuffer.java:69)
at antlr.TokenBuffer.LA(TokenBuffer.java:80)
at antlr.LLkParser.LA(LLkParser.java:52)
at org.antlr.stringtemplate.language.TemplateParser.template(TemplateParser.java:103)
at org.antlr.stringtemplate.StringTemplate.breakTemplateIntoChunks(StringTemplate.java:850)
at org.antlr.stringtemplate.StringTemplate.setTemplate(StringTemplate.java:441)
at org.antlr.stringtemplate.StringTemplateGroup.defineTemplate(StringTemplateGroup.java:679)
at org.skife.jdbi.v2.sqlobject.stringtemplate.StringTemplate3StatementLocator.locate(StringTemplate3StatementLocator.java:260) …
Run Code Online (Sandbox Code Playgroud)

java sap-iq

0
推荐指数
1
解决办法
1335
查看次数