需要在 Java 中的 Rails 应用程序上访问 JRuby 的 Heroku Postgres 数据库
Need to access Heroku Postgres DB of a JRuby on Rails app in Java
我需要在 Rails 应用程序的 JRuby 中访问 Java 中的 Postgres 数据库。这是allowed/done吗。有人做过吗?
那么我可以通过 jdbc 与数据库建立单例连接并操作 postgres 数据库吗?
如果是这样,请你指点一些可能对我有帮助的resources/examples。
我必须构建一个功能,其中需要使用 Java API.
操作 Postgres 数据库记录
是的,您可以使用 Ruby 中的 Java API 执行此操作。很难提供确切的答案,因为我不知道您要做什么。但这里有一个创建连接的方法示例,并以伪 JRuby
操作数据库
require 'java'
java_import java.net.URI
java_import java.sql.DriverManager
def do_database
connection = get_connection
stmt = connection.createStatement
stmt.executeUpdate("CREATE TABLE IF NOT EXISTS ticks (tick timestamp)")
stmt.executeUpdate("INSERT INTO ticks VALUES (now())")
rs = stmt.executeQuery("SELECT tick FROM ticks")
rs.next
begin
puts "Read from DB: " + rs.getTimestamp("tick")
end while rs.next
ensure
connection.close if connection != nil
end
def get_connection
dbUri = ENV["DATABASE_URL"]
username = dbUri.getUserInfo.split(":")[0]
password = dbUri.getUserInfo.split(":")[1]
port = dbUri.getPort
dbUrl = "jdbc:postgresql://#{dbUri.getHost}:#{port}#{dbUri.getPath}"
DriverManager.getConnection(dbUrl, username, password)
end
我需要在 Rails 应用程序的 JRuby 中访问 Java 中的 Postgres 数据库。这是allowed/done吗。有人做过吗?
那么我可以通过 jdbc 与数据库建立单例连接并操作 postgres 数据库吗?
如果是这样,请你指点一些可能对我有帮助的resources/examples。
我必须构建一个功能,其中需要使用 Java API.
操作 Postgres 数据库记录是的,您可以使用 Ruby 中的 Java API 执行此操作。很难提供确切的答案,因为我不知道您要做什么。但这里有一个创建连接的方法示例,并以伪 JRuby
操作数据库require 'java'
java_import java.net.URI
java_import java.sql.DriverManager
def do_database
connection = get_connection
stmt = connection.createStatement
stmt.executeUpdate("CREATE TABLE IF NOT EXISTS ticks (tick timestamp)")
stmt.executeUpdate("INSERT INTO ticks VALUES (now())")
rs = stmt.executeQuery("SELECT tick FROM ticks")
rs.next
begin
puts "Read from DB: " + rs.getTimestamp("tick")
end while rs.next
ensure
connection.close if connection != nil
end
def get_connection
dbUri = ENV["DATABASE_URL"]
username = dbUri.getUserInfo.split(":")[0]
password = dbUri.getUserInfo.split(":")[1]
port = dbUri.getPort
dbUrl = "jdbc:postgresql://#{dbUri.getHost}:#{port}#{dbUri.getPath}"
DriverManager.getConnection(dbUrl, username, password)
end