{"id":11053,"date":"2021-02-28T13:31:10","date_gmt":"2021-02-28T12:31:10","guid":{"rendered":"https:\/\/www.salvis.com\/blog\/?p=11053"},"modified":"2023-11-08T14:59:16","modified_gmt":"2023-11-08T13:59:16","slug":"connecting-via-jdbc-to-the-oracle-cloud","status":"publish","type":"post","link":"https:\/\/www.salvis.com\/blog\/2021\/02\/28\/connecting-via-jdbc-to-the-oracle-cloud\/","title":{"rendered":"Connecting via JDBC to the Oracle Cloud"},"content":{"rendered":"\n<p>You can connect to an Oracle Autonomous Database in different ways. This is well documented <a href=\"https:\/\/docs.oracle.com\/en\/cloud\/paas\/autonomous-database\/adbsa\/connect-jdbc-thin-wallet.html\">here<\/a>. It&#8217;s a bit different from what we know from on-premises environments. In this blog post, I show the steps to connect to an Autonomous Database from a third-party IDE like&nbsp;<a href=\"https:\/\/www.jetbrains.com\/datagrip\/\">DataGrip<\/a>.<\/p>\n\n\n\n<p>From a JDBC perspective, this is just an ordinary JDBC URL with some driver-specific properties. Therefore, this approach should work for any JDBC-based IDE and also for any Java application.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Step 1 &#8211; Download the Wallet<\/h2>\n\n\n\n<p>Go to your Autonomous Database and click on the &#8220;DB Connection&#8221; button. A screen similar to the following appears:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2021\/02\/download-wallet.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"768\" src=\"https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2021\/02\/download-wallet-1024x768.png\" alt=\"\" class=\"wp-image-11057\" srcset=\"https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2021\/02\/download-wallet-1024x768.png 1024w, https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2021\/02\/download-wallet-300x225.png 300w, https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2021\/02\/download-wallet-768x576.png 768w, https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2021\/02\/download-wallet-1536x1152.png 1536w, https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2021\/02\/download-wallet-195x146.png 195w, https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2021\/02\/download-wallet-50x38.png 50w, https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2021\/02\/download-wallet-100x75.png 100w, https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2021\/02\/download-wallet-1x1.png 1w, https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2021\/02\/download-wallet.png 2048w\" sizes=\"auto, (max-width:767px) 480px, (max-width:1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p>Press on the &#8220;Download Wallet&#8221; button and enter a password. This password is used to protect the key and the trust store. We will need it later. I named my instance &#8220;ATP21&#8221;.&nbsp;Therefore, in my case, a zip archive named &#8220;Wallet_ATP21.zip&#8221; was downloaded.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Step 2 &#8211; Unzip the Wallet<\/h2>\n\n\n\n<p>Unzip the downloaded zip file and move it to a location where want to keep it. The wallet contains the following files:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>README<\/li>\n\n\n\n<li>ewallet.p12<\/li>\n\n\n\n<li>ojdbc.properties<\/li>\n\n\n\n<li>tnsnames.ora<\/li>\n\n\n\n<li>cwallet.sso<\/li>\n\n\n\n<li>keystore.jks<\/li>\n\n\n\n<li>sqlnet.ora<\/li>\n\n\n\n<li>truststore.jks<\/li>\n<\/ul>\n\n\n\n<p>Open the file &#8220;tnsnames.ora&#8221; in a text editor. It contains 5 entries. We need one of those entries to build the JDBC connection string. I highlighted the relevant part of the first entry in the next screenshot:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2021\/02\/tnsnames.ora_.png\"><img loading=\"lazy\" decoding=\"async\" width=\"841\" height=\"574\" src=\"https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2021\/02\/tnsnames.ora_.png\" alt=\"\" class=\"wp-image-11059\" srcset=\"https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2021\/02\/tnsnames.ora_.png 841w, https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2021\/02\/tnsnames.ora_-300x205.png 300w, https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2021\/02\/tnsnames.ora_-768x524.png 768w, https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2021\/02\/tnsnames.ora_-214x146.png 214w, https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2021\/02\/tnsnames.ora_-50x34.png 50w, https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2021\/02\/tnsnames.ora_-110x75.png 110w, https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2021\/02\/tnsnames.ora_-1x1.png 1w\" sizes=\"auto, (max-width:767px) 480px, (max-width:841px) 100vw, 841px\" \/><\/a><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><span style=\"font-size: 30px;\">Step 3a &#8211; Configure Connection in DataGrip (Legacy Driver)<\/span><\/h2>\n\n\n\n<p>Add a new connection in DataGrip and select &#8220;Oracle&#8221; as shown in the following screenshot:<\/p>\n\n\n\n<p><a href=\"https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2021\/02\/datagrip-datasource.png\">0<\/a><a href=\"https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2021\/02\/datagrip-datasource.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-11060\" src=\"https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2021\/02\/datagrip-datasource.png\" alt=\"\" width=\"401\" height=\"530\" srcset=\"https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2021\/02\/datagrip-datasource.png 802w, https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2021\/02\/datagrip-datasource-227x300.png 227w, https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2021\/02\/datagrip-datasource-775x1024.png 775w, https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2021\/02\/datagrip-datasource-768x1015.png 768w, https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2021\/02\/datagrip-datasource-110x146.png 110w, https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2021\/02\/datagrip-datasource-38x50.png 38w, https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2021\/02\/datagrip-datasource-57x75.png 57w, https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2021\/02\/datagrip-datasource-1x1.png 1w\" sizes=\"auto, (max-width:767px) 401px, 401px\" \/><\/a><\/p>\n\n\n\n<p>In the &#8220;General&#8221; tab change the Connection type to &#8220;URL only&#8221;. Enter the user, the password and the complete JDBC URL as shown in the next screenshot:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2021\/02\/datagrip-1c.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"768\" src=\"https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2021\/02\/datagrip-1c-1024x768.png\" alt=\"\" class=\"wp-image-11094\" srcset=\"https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2021\/02\/datagrip-1c-1024x768.png 1024w, https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2021\/02\/datagrip-1c-300x225.png 300w, https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2021\/02\/datagrip-1c-768x576.png 768w, https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2021\/02\/datagrip-1c-1536x1152.png 1536w, https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2021\/02\/datagrip-1c-195x146.png 195w, https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2021\/02\/datagrip-1c-50x38.png 50w, https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2021\/02\/datagrip-1c-100x75.png 100w, https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2021\/02\/datagrip-1c-1x1.png 1w, https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2021\/02\/datagrip-1c.png 2048w\" sizes=\"auto, (max-width:767px) 480px, (max-width:1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p>The URL starts with <code>jdbc.oracle:thin:@<\/code>. The rest is the text I&#8217;ve highlighted in the tnsnames.ora file above.<\/p>\n\n\n\n<p>Then click on the &#8220;Advanced&#8221; tab and define the following properties:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>javax.net.ssl.trustStore<\/li>\n\n\n\n<li>javax.net.ssl.trustStorePassword<\/li>\n\n\n\n<li>javax.net.ssl.keyStore<\/li>\n\n\n\n<li>javax.net.ssl.keyStorePassword<\/li>\n<\/ul>\n\n\n\n<p>Here are my settings (of course you need to amend the values to match the environment of your wallet):<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2021\/02\/datagrip-2b.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"768\" src=\"https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2021\/02\/datagrip-2b-1024x768.png\" alt=\"\" class=\"wp-image-11063\" srcset=\"https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2021\/02\/datagrip-2b-1024x768.png 1024w, https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2021\/02\/datagrip-2b-300x225.png 300w, https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2021\/02\/datagrip-2b-768x576.png 768w, https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2021\/02\/datagrip-2b-1536x1152.png 1536w, https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2021\/02\/datagrip-2b-195x146.png 195w, https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2021\/02\/datagrip-2b-50x38.png 50w, https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2021\/02\/datagrip-2b-100x75.png 100w, https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2021\/02\/datagrip-2b-1x1.png 1w, https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2021\/02\/datagrip-2b.png 2048w\" sizes=\"auto, (max-width:767px) 480px, (max-width:1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Step 3b \u2013 Configure Connection in DataGrip (Current Driver)<\/h2>\n\n\n\n<p>DataGrip automatically downloads the latest Oracle Database JDBC driver. In my case version 21.1.0.0. Since version 18.3 there is an easier way to connect. The JDBC driver can access the wallet directory and its files. As a result, you do not need to configure the java.net.ssl.* JDBC properties anymore. You just have to define one additional JDBC property \u201cTNS_ADMIN\u201d to define the path to the wallet directory.<\/p>\n\n\n\n<p>And of course, you can pass this JDBC property directly in the JDBC URL as shown in the next screenshot:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2021\/02\/datagrip-latest-driver2.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"768\" src=\"https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2021\/02\/datagrip-latest-driver2-1024x768.png\" alt=\"\" class=\"wp-image-11089\" srcset=\"https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2021\/02\/datagrip-latest-driver2-1024x768.png 1024w, https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2021\/02\/datagrip-latest-driver2-300x225.png 300w, https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2021\/02\/datagrip-latest-driver2-768x576.png 768w, https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2021\/02\/datagrip-latest-driver2-1536x1152.png 1536w, https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2021\/02\/datagrip-latest-driver2-195x146.png 195w, https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2021\/02\/datagrip-latest-driver2-50x38.png 50w, https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2021\/02\/datagrip-latest-driver2-100x75.png 100w, https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2021\/02\/datagrip-latest-driver2-1x1.png 1w, https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2021\/02\/datagrip-latest-driver2.png 2048w\" sizes=\"auto, (max-width:767px) 480px, (max-width:1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusion<\/h2>\n\n\n\n<p>Establishing a connection to an Autonomous Database requires a wallet. The JDBC driver needs access to this wallet. This doesn\u2019t make things easier, but it doesn\u2019t make them overly complicated either.<\/p>\n\n\n\n<p>However, you need to deal with this additional resource regularly because the wallet has a limited lifetime. This is documented in the\u00a0<code>README<\/code>\u00a0file.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);--cbp-line-highlight-color:rgba(234, 191, 191, 0.2);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#1E1E1E\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"Wallet Expiry Date\n-----------------------\nThis wallet was downloaded on 2021-02-28 08:16:36.267 UTC.\nThe SSL certificates provided in this wallet will expire on 2023-03-19 21:43:22.0 UTC.\nIn order to avoid any service interruptions due to an expired SSL certificate, you must re-download the wallet before this date.\" style=\"color:#D4D4D4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki dark-plus\" style=\"background-color: #1E1E1E\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #D4D4D4\">Wallet Expiry Date<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">-----------------------<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">This wallet was downloaded on 2021-02-28 08:16:36.267 UTC.<\/span><\/span>\n<span class=\"line cbp-line-highlight\"><span style=\"color: #D4D4D4\">The SSL certificates provided in this wallet will expire on 2023-03-19 21:43:22.0 UTC.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">In order to avoid any service interruptions due to an expired SSL certificate, you must re-download the wallet before this date.<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>So I have to update my wallet in two years otherwise I won&#8217;t be able to connect anymore.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>You can connect to an Oracle Autonomous Database in different ways. This is well documented here. It&#8217;s a bit different from what we know from on-premises environments. In this blog post, I show the steps to connect to an Autonomous Database from a third-party IDE like&nbsp;DataGrip. From a JDBC perspective, this is<span class=\"excerpt-hellip\"> [\u2026]<\/span><\/p>\n","protected":false},"author":1,"featured_media":11055,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[127,131],"class_list":["post-11053","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-oracle","tag-autonomous-database","tag-jdbc"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Connecting via JDBC to the Oracle Cloud - Philipp Salvisberg&#039;s Blog<\/title>\n<meta name=\"description\" content=\"In this blog post, I show the steps to connect to an Autonomous Database from a third-party IDE like\u00a0DataGrip. Works for any JDBC-based app.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.salvis.com\/blog\/2021\/02\/28\/connecting-via-jdbc-to-the-oracle-cloud\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Connecting via JDBC to the Oracle Cloud - Philipp Salvisberg&#039;s Blog\" \/>\n<meta property=\"og:description\" content=\"In this blog post, I show the steps to connect to an Autonomous Database from a third-party IDE like\u00a0DataGrip. Works for any JDBC-based app.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.salvis.com\/blog\/2021\/02\/28\/connecting-via-jdbc-to-the-oracle-cloud\/\" \/>\n<meta property=\"og:site_name\" content=\"Philipp Salvisberg&#039;s Blog\" \/>\n<meta property=\"article:published_time\" content=\"2021-02-28T12:31:10+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-11-08T13:59:16+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2021\/02\/JDBC-Cloud.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"1200\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Philipp Salvisberg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@phsalvisberg\" \/>\n<meta name=\"twitter:site\" content=\"@phsalvisberg\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Philipp Salvisberg\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.salvis.com\\\/blog\\\/2021\\\/02\\\/28\\\/connecting-via-jdbc-to-the-oracle-cloud\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.salvis.com\\\/blog\\\/2021\\\/02\\\/28\\\/connecting-via-jdbc-to-the-oracle-cloud\\\/\"},\"author\":{\"name\":\"Philipp Salvisberg\",\"@id\":\"https:\\\/\\\/www.salvis.com\\\/blog\\\/#\\\/schema\\\/person\\\/34352245c48678b1a5a05d4bc1339515\"},\"headline\":\"Connecting via JDBC to the Oracle Cloud\",\"datePublished\":\"2021-02-28T12:31:10+00:00\",\"dateModified\":\"2023-11-08T13:59:16+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.salvis.com\\\/blog\\\/2021\\\/02\\\/28\\\/connecting-via-jdbc-to-the-oracle-cloud\\\/\"},\"wordCount\":522,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.salvis.com\\\/blog\\\/#\\\/schema\\\/person\\\/34352245c48678b1a5a05d4bc1339515\"},\"image\":{\"@id\":\"https:\\\/\\\/www.salvis.com\\\/blog\\\/2021\\\/02\\\/28\\\/connecting-via-jdbc-to-the-oracle-cloud\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.salvis.com\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/02\\\/JDBC-Cloud.png\",\"keywords\":[\"Autonomous Database\",\"JDBC\"],\"articleSection\":[\"Oracle\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.salvis.com\\\/blog\\\/2021\\\/02\\\/28\\\/connecting-via-jdbc-to-the-oracle-cloud\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.salvis.com\\\/blog\\\/2021\\\/02\\\/28\\\/connecting-via-jdbc-to-the-oracle-cloud\\\/\",\"url\":\"https:\\\/\\\/www.salvis.com\\\/blog\\\/2021\\\/02\\\/28\\\/connecting-via-jdbc-to-the-oracle-cloud\\\/\",\"name\":\"Connecting via JDBC to the Oracle Cloud - Philipp Salvisberg&#039;s Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.salvis.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.salvis.com\\\/blog\\\/2021\\\/02\\\/28\\\/connecting-via-jdbc-to-the-oracle-cloud\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.salvis.com\\\/blog\\\/2021\\\/02\\\/28\\\/connecting-via-jdbc-to-the-oracle-cloud\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.salvis.com\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/02\\\/JDBC-Cloud.png\",\"datePublished\":\"2021-02-28T12:31:10+00:00\",\"dateModified\":\"2023-11-08T13:59:16+00:00\",\"description\":\"In this blog post, I show the steps to connect to an Autonomous Database from a third-party IDE like\u00a0DataGrip. Works for any JDBC-based app.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.salvis.com\\\/blog\\\/2021\\\/02\\\/28\\\/connecting-via-jdbc-to-the-oracle-cloud\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.salvis.com\\\/blog\\\/2021\\\/02\\\/28\\\/connecting-via-jdbc-to-the-oracle-cloud\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.salvis.com\\\/blog\\\/2021\\\/02\\\/28\\\/connecting-via-jdbc-to-the-oracle-cloud\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.salvis.com\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/02\\\/JDBC-Cloud.png\",\"contentUrl\":\"https:\\\/\\\/www.salvis.com\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/02\\\/JDBC-Cloud.png\",\"width\":1200,\"height\":1200},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.salvis.com\\\/blog\\\/2021\\\/02\\\/28\\\/connecting-via-jdbc-to-the-oracle-cloud\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.salvis.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Connecting via JDBC to the Oracle Cloud\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.salvis.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.salvis.com\\\/blog\\\/\",\"name\":\"Philipp Salvisberg&#039;s Blog\",\"description\":\"Database-centric development\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.salvis.com\\\/blog\\\/#\\\/schema\\\/person\\\/34352245c48678b1a5a05d4bc1339515\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.salvis.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/www.salvis.com\\\/blog\\\/#\\\/schema\\\/person\\\/34352245c48678b1a5a05d4bc1339515\",\"name\":\"Philipp Salvisberg\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.salvis.com\\\/blog\\\/wp-content\\\/uploads\\\/2010\\\/11\\\/phs_trivadis4.jpg\",\"url\":\"https:\\\/\\\/www.salvis.com\\\/blog\\\/wp-content\\\/uploads\\\/2010\\\/11\\\/phs_trivadis4.jpg\",\"contentUrl\":\"https:\\\/\\\/www.salvis.com\\\/blog\\\/wp-content\\\/uploads\\\/2010\\\/11\\\/phs_trivadis4.jpg\",\"width\":400,\"height\":400,\"caption\":\"Philipp Salvisberg\"},\"logo\":{\"@id\":\"https:\\\/\\\/www.salvis.com\\\/blog\\\/wp-content\\\/uploads\\\/2010\\\/11\\\/phs_trivadis4.jpg\"},\"sameAs\":[\"http:\\\/\\\/www.salvis.com\\\/\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Connecting via JDBC to the Oracle Cloud - Philipp Salvisberg&#039;s Blog","description":"In this blog post, I show the steps to connect to an Autonomous Database from a third-party IDE like\u00a0DataGrip. Works for any JDBC-based app.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.salvis.com\/blog\/2021\/02\/28\/connecting-via-jdbc-to-the-oracle-cloud\/","og_locale":"en_US","og_type":"article","og_title":"Connecting via JDBC to the Oracle Cloud - Philipp Salvisberg&#039;s Blog","og_description":"In this blog post, I show the steps to connect to an Autonomous Database from a third-party IDE like\u00a0DataGrip. Works for any JDBC-based app.","og_url":"https:\/\/www.salvis.com\/blog\/2021\/02\/28\/connecting-via-jdbc-to-the-oracle-cloud\/","og_site_name":"Philipp Salvisberg&#039;s Blog","article_published_time":"2021-02-28T12:31:10+00:00","article_modified_time":"2023-11-08T13:59:16+00:00","og_image":[{"width":1200,"height":1200,"url":"https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2021\/02\/JDBC-Cloud.png","type":"image\/png"}],"author":"Philipp Salvisberg","twitter_card":"summary_large_image","twitter_creator":"@phsalvisberg","twitter_site":"@phsalvisberg","twitter_misc":{"Written by":"Philipp Salvisberg","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.salvis.com\/blog\/2021\/02\/28\/connecting-via-jdbc-to-the-oracle-cloud\/#article","isPartOf":{"@id":"https:\/\/www.salvis.com\/blog\/2021\/02\/28\/connecting-via-jdbc-to-the-oracle-cloud\/"},"author":{"name":"Philipp Salvisberg","@id":"https:\/\/www.salvis.com\/blog\/#\/schema\/person\/34352245c48678b1a5a05d4bc1339515"},"headline":"Connecting via JDBC to the Oracle Cloud","datePublished":"2021-02-28T12:31:10+00:00","dateModified":"2023-11-08T13:59:16+00:00","mainEntityOfPage":{"@id":"https:\/\/www.salvis.com\/blog\/2021\/02\/28\/connecting-via-jdbc-to-the-oracle-cloud\/"},"wordCount":522,"commentCount":0,"publisher":{"@id":"https:\/\/www.salvis.com\/blog\/#\/schema\/person\/34352245c48678b1a5a05d4bc1339515"},"image":{"@id":"https:\/\/www.salvis.com\/blog\/2021\/02\/28\/connecting-via-jdbc-to-the-oracle-cloud\/#primaryimage"},"thumbnailUrl":"https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2021\/02\/JDBC-Cloud.png","keywords":["Autonomous Database","JDBC"],"articleSection":["Oracle"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.salvis.com\/blog\/2021\/02\/28\/connecting-via-jdbc-to-the-oracle-cloud\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.salvis.com\/blog\/2021\/02\/28\/connecting-via-jdbc-to-the-oracle-cloud\/","url":"https:\/\/www.salvis.com\/blog\/2021\/02\/28\/connecting-via-jdbc-to-the-oracle-cloud\/","name":"Connecting via JDBC to the Oracle Cloud - Philipp Salvisberg&#039;s Blog","isPartOf":{"@id":"https:\/\/www.salvis.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.salvis.com\/blog\/2021\/02\/28\/connecting-via-jdbc-to-the-oracle-cloud\/#primaryimage"},"image":{"@id":"https:\/\/www.salvis.com\/blog\/2021\/02\/28\/connecting-via-jdbc-to-the-oracle-cloud\/#primaryimage"},"thumbnailUrl":"https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2021\/02\/JDBC-Cloud.png","datePublished":"2021-02-28T12:31:10+00:00","dateModified":"2023-11-08T13:59:16+00:00","description":"In this blog post, I show the steps to connect to an Autonomous Database from a third-party IDE like\u00a0DataGrip. Works for any JDBC-based app.","breadcrumb":{"@id":"https:\/\/www.salvis.com\/blog\/2021\/02\/28\/connecting-via-jdbc-to-the-oracle-cloud\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.salvis.com\/blog\/2021\/02\/28\/connecting-via-jdbc-to-the-oracle-cloud\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.salvis.com\/blog\/2021\/02\/28\/connecting-via-jdbc-to-the-oracle-cloud\/#primaryimage","url":"https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2021\/02\/JDBC-Cloud.png","contentUrl":"https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2021\/02\/JDBC-Cloud.png","width":1200,"height":1200},{"@type":"BreadcrumbList","@id":"https:\/\/www.salvis.com\/blog\/2021\/02\/28\/connecting-via-jdbc-to-the-oracle-cloud\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.salvis.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Connecting via JDBC to the Oracle Cloud"}]},{"@type":"WebSite","@id":"https:\/\/www.salvis.com\/blog\/#website","url":"https:\/\/www.salvis.com\/blog\/","name":"Philipp Salvisberg&#039;s Blog","description":"Database-centric development","publisher":{"@id":"https:\/\/www.salvis.com\/blog\/#\/schema\/person\/34352245c48678b1a5a05d4bc1339515"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.salvis.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/www.salvis.com\/blog\/#\/schema\/person\/34352245c48678b1a5a05d4bc1339515","name":"Philipp Salvisberg","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2010\/11\/phs_trivadis4.jpg","url":"https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2010\/11\/phs_trivadis4.jpg","contentUrl":"https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2010\/11\/phs_trivadis4.jpg","width":400,"height":400,"caption":"Philipp Salvisberg"},"logo":{"@id":"https:\/\/www.salvis.com\/blog\/wp-content\/uploads\/2010\/11\/phs_trivadis4.jpg"},"sameAs":["http:\/\/www.salvis.com\/"]}]}},"_links":{"self":[{"href":"https:\/\/www.salvis.com\/blog\/wp-json\/wp\/v2\/posts\/11053","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.salvis.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.salvis.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.salvis.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.salvis.com\/blog\/wp-json\/wp\/v2\/comments?post=11053"}],"version-history":[{"count":30,"href":"https:\/\/www.salvis.com\/blog\/wp-json\/wp\/v2\/posts\/11053\/revisions"}],"predecessor-version":[{"id":12705,"href":"https:\/\/www.salvis.com\/blog\/wp-json\/wp\/v2\/posts\/11053\/revisions\/12705"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.salvis.com\/blog\/wp-json\/wp\/v2\/media\/11055"}],"wp:attachment":[{"href":"https:\/\/www.salvis.com\/blog\/wp-json\/wp\/v2\/media?parent=11053"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.salvis.com\/blog\/wp-json\/wp\/v2\/categories?post=11053"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.salvis.com\/blog\/wp-json\/wp\/v2\/tags?post=11053"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}