Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在redshift上执行java程序_Java_Amazon Web Services_Amazon Redshift - Fatal编程技术网

在redshift上执行java程序

在redshift上执行java程序,java,amazon-web-services,amazon-redshift,Java,Amazon Web Services,Amazon Redshift,例如,我编写了以下php代码并在红移上运行,如下所示 <?php $connect = pg_connect("host=xx.xxxx.us-east-1.redshift.amazonaws.com port=xxxx dbname=testdb user=xxxx password=xxxxxx"); $query = "select name, email from mytable LIMIT 7"; $result = pg_query($connect,$query); w

例如,我编写了以下php代码并在红移上运行,如下所示

<?php

$connect = pg_connect("host=xx.xxxx.us-east-1.redshift.amazonaws.com port=xxxx dbname=testdb user=xxxx password=xxxxxx");

$query = "select name, email from mytable LIMIT 7";
$result = pg_query($connect,$query);
while(($row = pg_fetch_array($result)) != null) {
        $name = $row[0];
        $email = $row[1];

        echo $name." <<>> ".$email." <<>> ";
}
?>
我把这个
.java
文件也保存在同一个位置。因此,有人能告诉我如何在命令上运行这个java文件,就像我对php所做的那样。

(1)从以下链接下载postgresql JDBC驱动程序,并将其放在ConnectToCluster.java的同一目录中

(2) 在java文件的头部添加缺少的行(导入java库)

import java.sql.*;
导入java.util.*;
公共类连接群集{
...
(3) 运行以下命令

javac ConnectToCluster.java&&java-cp.:postgresql-8.4-703.jdbc4.jar ConnectToCluster

这不是一个真正与红移相关的问题。你要问的是Thanx的java代码!非常感谢你的回答。我需要每次编译吗?我希望这个程序每天在特定的时间运行,我听说cronjob会这样做。如果你能就此提出建议,我将不胜感激。不,一旦你编译了java file,您不需要每次都编译它。说到cronjob,您需要更改类路径(cp选项)以使用绝对路径,如“-cp/path/to/your java file dir/:/path/to/your java file dir/postgresql-8.4-703.jdbc4.jar”因为cronjob的当前目录不同。好的,谢谢。我还有一个jar文件要包含在该项目中,我需要使用逗号作为分隔符并继续吗?比如-cp:postgresql-8.4-703.jdbc4.jar,另一个jarfile.jarI通过在两个单独的命令中编译和执行它来工作。比如javac-cp:one.jar:two.jar和java-cp:one.jar:two.jar
myuser@ip-20-143-43-144:/home/myuser$ php runquery.php     <Enter>
public class ConnectToCluster {

    static final String dbURL = "jdbc:postgresql://xxxx.xxxxx.us-east-1.redshift.amazonaws.com:xxxx/testdb";
    static final String MasterUsername = "XXXX";
    static final String MasterUserPassword = "XXXXXX";

    public static void main(String[] args) {
        Connection conn = null;
        Statement stmt = null;
        try{
           //Dynamically load postgresql driver at runtime.
           Class.forName("org.postgresql.Driver");

           //Open a connection and define properties.
           System.out.println("Connecting to database...");
           Properties props = new Properties();

           //Uncomment the following line if using a keystore.
           //props.setProperty("ssl", "true");  
           props.setProperty("user", MasterUsername);
           props.setProperty("password", MasterUserPassword);
           conn = DriverManager.getConnection(dbURL, props);

           //Try a simple query.
           System.out.println("Listing system tables...");
           stmt = conn.createStatement();
           String sql;
           sql = "select * from information_schema.tables;";
           ResultSet rs = stmt.executeQuery(sql);

           //Get the data from the result set.
           while(rs.next()){
              //Retrieve two columns.
              String catalog = rs.getString("table_catalog");
              String name = rs.getString("table_name");

              //Display values.
              System.out.print("Catalog: " + catalog);
              System.out.println(", Name: " + name);
           }
           rs.close();
           stmt.close();
           conn.close();
        }catch(Exception ex){
           //For convenience, handle all errors here.
           ex.printStackTrace();
        }finally{
           //Finally block to close resources.
           try{
              if(stmt!=null)
                 stmt.close();
           }catch(Exception ex){
           }// nothing we can do
           try{
              if(conn!=null)
                 conn.close();
           }catch(Exception ex){
              ex.printStackTrace();
           }
        }
        System.out.println("Finished connectivity test.");
     }
 }