Skip to content

Instantly share code, notes, and snippets.

@gaurish
Last active April 3, 2022 16:08
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save gaurish/8336972c32b8645a918b4f51b4bf1c08 to your computer and use it in GitHub Desktop.
Save gaurish/8336972c32b8645a918b4f51b4bf1c08 to your computer and use it in GitHub Desktop.
jruby-9.3.3.0 :004 > require Rails.root.join('vendor','snowflake-jdbc-3.13.14.jar')
=> true
jruby-9.3.3.0 :005 > connection = java.sql.DriverManager.getConnection(ENV['SNOWFLAKE_DB_URL'])
Traceback (most recent call last):
Java::JavaSql::SQLException (No suitable driver found for jdbc:snowflake://xxxxx.us-east-1.snowflakecomputing.com?user=xxxxx@xx.com&password=xxxx$&db=LARGE_SAMPLE_DATA&schema=USERS&warehouse=SEGMENTATION_POC)
jruby-9.3.3.0 :006 > $CLASSPATH
=> ["file:/Users/gaurish/.rvm/gems/jruby-9.3.3.0/gems/concurrent-ruby-1.1.9/lib/concurrent-ruby/concurrent/concurrent_ruby.jar", "file:/Users/gaurish/.rvm/rubies/jruby-9.3.3.0/lib/ruby/stdlib/jline/jline/2.14.6/jline-2.14.6.jar", "file:/Users/gaurish/.rvm/rubies/jruby-9.3.3.0/lib/ruby/stdlib/readline.jar", "file:/Users/gaurish/.rvm/rubies/jruby-9.3.3.0/lib/ruby/stdlib/psych.jar", "file:/Users/gaurish/.rvm/rubies/jruby-9.3.3.0/lib/ruby/stdlib/org/yaml/snakeyaml/1.28/snakeyaml-1.28.jar", "file:/Users/gaurish/.rvm/rubies/jruby-9.3.3.0/lib/ruby/stdlib/org/bouncycastle/bcprov-jdk15on/1.68/bcprov-jdk15on-1.68.jar", "file:/Users/gaurish/.rvm/rubies/jruby-9.3.3.0/lib/ruby/stdlib/org/bouncycastle/bcpkix-jdk15on/1.68/bcpkix-jdk15on-1.68.jar", "file:/Users/gaurish/.rvm/rubies/jruby-9.3.3.0/lib/ruby/stdlib/org/bouncycastle/bctls-jdk15on/1.68/bctls-jdk15on-1.68.jar", "file:/Users/gaurish/.rvm/rubies/jruby-9.3.3.0/lib/ruby/stdlib/jopenssl.jar", "file:/Users/gaurish/.rvm/gems/jruby-9.3.3.0/gems/thread_safe-0.3.6-java/lib/thread_safe/jruby_cache_backend.jar", "file:/Users/gaurish/.rvm/rubies/jruby-9.3.3.0/lib/ruby/stdlib/json/ext/parser.jar", "file:/Users/gaurish/.rvm/rubies/jruby-9.3.3.0/lib/ruby/stdlib/json/ext/generator.jar", "file:/Users/gaurish/.rvm/gems/jruby-9.3.3.0/gems/racc-1.6.0-java/lib/racc/cparse-jruby.jar", "file:/Users/gaurish/.rvm/gems/jruby-9.3.3.0/gems/nokogiri-1.12.5-java/lib/isorelax.jar", "file:/Users/gaurish/.rvm/gems/jruby-9.3.3.0/gems/nokogiri-1.12.5-java/lib/jing.jar", "file:/Users/gaurish/.rvm/gems/jruby-9.3.3.0/gems/nokogiri-1.12.5-java/lib/nekohtml.jar", "file:/Users/gaurish/.rvm/gems/jruby-9.3.3.0/gems/nokogiri-1.12.5-java/lib/nekodtd.jar", "file:/Users/gaurish/.rvm/gems/jruby-9.3.3.0/gems/nokogiri-1.12.5-java/lib/xercesImpl.jar", "file:/Users/gaurish/.rvm/gems/jruby-9.3.3.0/gems/nokogiri-1.12.5-java/lib/serializer.jar", "file:/Users/gaurish/.rvm/gems/jruby-9.3.3.0/gems/nokogiri-1.12.5-java/lib/xalan.jar", "file:/Users/gaurish/.rvm/gems/jruby-9.3.3.0/gems/nokogiri-1.12.5-java/lib/xml-apis.jar", "file:/Users/gaurish/.rvm/gems/jruby-9.3.3.0/gems/nokogiri-1.12.5-java/lib/nokogiri/nokogiri.jar", "file:/Users/gaurish/.rvm/gems/jruby-9.3.3.0/gems/rbtree-jruby-0.2.1/lib/rbtree/ext/multi_r_b_tree.jar", "file:/Users/gaurish/.rvm/gems/jruby-9.3.3.0/gems/msgpack-1.4.2-java/lib/msgpack/msgpack.jar", "file:/Users/gaurish/.rvm/gems/jruby-9.3.3.0/gems/bson-4.12.1-java/lib/bson-ruby.jar", "file:/Users/gaurish/.rvm/gems/jruby-9.3.3.0/gems/activerecord-jdbc-adapter-50.0/lib/arjdbc/jdbc/adapter_java.jar", "file:/Users/gaurish/.rvm/gems/jruby-9.3.3.0/gems/bindex-0.8.1/lib/skiptrace/internal/jruby_internals.jar", "file:/Users/gaurish/code/projects/punchh/segments-service/vendor/snowflake-jdbc-3.13.14.jar"]
jruby-9.3.3.0 :007 > JRUBY_VERSION
=> "9.3.3.0"
$ cat script.rb SIGINT(2) 12132 19:48:46
require 'java'
require '/Users/gaurish/code/projects/punchh/segments-service/vendor/snowflake-jdbc-3.13.14.jar'
connection_str = ENV['SNOWFLAKE_DB_URL']
conn = java.sql.DriverManager.getConnection(connection_str)
statement = conn.createStatement
query = 'select id, email from "SEGMENTATION_POC"."LARGE_SAMPLE_DATA"."USERS"'
result_set = statement.execute_query(query)
col_count = result_set.get_meta_data.get_column_count
while (result_set.next) do
(1..col_count).each do |i|
print "#{i} => #{result_set.get_string(i)}}"
end
end
$ ruby -v 12133 19:48:56
jruby 9.3.3.0 (2.6.8) 2022-01-19 b26de1f5c5 Java HotSpot(TM) 64-Bit Server VM 25.211-b12 on 1.8.0_211-b12 +jit [darwin-x86_64]
$ ruby script.rb
1 => 296093807}2 => r.CnVB9e0FpZBr@notarealemail.com}1 => 296093307}2 => n.JPRv5qMTYzwT@notarealemail.com}1 => 2....(large output)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment