How to connect to Oracle through LDAP with Ruby 2.7? - ruby

My application used to query an Oracle database through a classical OCI connection string such as 'user/password#server/database'.
But the server architecture has changed so that connections should now go through LDAP for security reasons. The URL looks like this :
jdbc:oracle:thin:#ldap://intranet.oid-01.dama.ch:3063/EDWHPD,cn=OracleContext,dc=emea,dc=dama,dc=ch
I don't know how to handle this, and it raises several questions for me:
Would the old DBI gem be relevant here?
Should I use the Net-LDAP gem, and what would it bring to help establishing the connection to oracle?
Do you know a tutorial explaining how to handle this type of database access?
Thank you for your help!

Related

Postgres and oracle in one project

In my project, I should receive data from the oracle and after processing it, write it to postgres, in my case, I need to use mybatis to communicate with the database. Can I connect to different databases in one project?(Postgres, Oracle) Have you faced such a situation?
If so, how do configure the datasourse? I need advice, thanks in advance. It will be great to see code examples

Unable to connect to Oracle on Azure Data Factory

I'm trying to connect to my on-premise Oracle database in order to migrate and copy some tables over to Azure SQL, but am not able to do so despite making sure all the connection parameters match the provided values in tnsnames.
Am I missing something? The error says the socket is closed but haven't gotten any useful information other than this prior issue, but doesn't contain any solution. I currently use Oracle 11.2.0.3 so the ADF connector should support this version.
Not sure what else I need to check. Any thoughts would be greatly appreciated!
Your screenprint shows you are using the AutoResolveIntegrationRuntime but as you say your Oracle db is on-premises you would need a Self-hosted Integration runtime (SHIR) as per this article. You would still need an SHIR for an IaaS Oracle db. Ideally the SHIR should be 'close' to the datasource so probably on-premises in the same network.
Do you have any proxy or firewall configured?
Have you tried creating the linked service and then testing the connection? Sometimes it occurred to me that I failed to test the connection of a new linked service but when creating it and retesting the connection is successful ...

How to replicate existing OracleRDB ODBC connection in Oracle's SQL Developer application?

I am new to Oracle database in general, but I'm attempting to get Oracle's SQL Developer running on a workstation that has pre-configured System DSNs created for an OracleRDB database. I've confirmed the ODBC connections are working because I can use MS Access to connect and link to the tables. The "test" options within ODBC also succeed. Now I am trying to get a similar connection created using SQL Developer so I can see the column types and write queries in a more useful editor.
Here's what I have available when examining the ODBC connection properties:
Now I'm trying to create a duplicate connection in SQL Developer, but I'm at a loss for why things don't work. I first tried using the default SQL Developer installation, but couldn't get things working. Then I discovered there's an OracleRDB extension available, so I installed that, but I keep getting this error when attempting to use similar values:
As I stated, these ODBC connections were pre-configured on the workstation I'm using, so I don't know anything more than what is provided by the Oracle ODBC driver window.
Is there something obvious I'm not seeing or doing to replicate this connection in SQL Developer? Or perhaps something else I can do to debug this to learn more?
UPDATE
On the advice of one answer I'm trying to make the connection with JDBC, but having a hard time understanding what I'm doing wrong. Here's another screenshot with the connection parameters I have available, but with the server and database names changed:
With these values (the port came from my tnsnames.ora file), if I try to make a JDBC connection I keep getting the following error from SQL Developer:
One final attempt I did was to use the proper values in the Oracle RDB tab, and when I use them and click 'test' the Testing Connection dialog just spins and never seems to return:
So I apologize for the long post here, but I'm struggling because there's just something I am really not understanding about how this all works. I appreciate everyone who took the time to read this question.
Oracle SQL Developer is a Java Application. You'll need to get the JDBC Driver for RDB.
Once you have that, in the SQL Developer preferences, find the Third Party JDBC section, and then use that to add an entry and point to the JAR for what you just installed.
Step by step instructions here.
Working connection string for RDB Thin Driver:
RDB_DB_CONN_STR = "jdbc:rdbThin://node.myplace.com:1707/";
where node.myplace.com is the name of the OpenVMS node hosting the RDB Thin Driver, 1707 is the port number assigned to the RDB Thin Driver.

Setting connection info using XQJ with Oracle 11g

I am trying to submit XQuery queries to an Oracle 11g database through their XQJ API.
When I instantiate an oracle.xquery.xqj.OXQDataSource as explained in http://www.oracle.com/technetwork/articles/oem/xquery-jdbc-325944.html, I can submit queries fine except that I haven't found how I can set up the server connection (server name, port, username, password, ...) info:
This datasource claims that it doesn't support setting any property.
It doesn't implement the data source constructor which takes a JDBC connection.
I don't see any non standard method to set such info.
When I try to access some random collection like collection("oradb:/foo") I just get an empty result set even when no server is running, suggesting that the driver doesn't even try to connect.
What have I missed and how can I set the server connection info?
Thanks,
Eric
Thanks to Charles Foster I can answer to my own question: the XQJ implementation from Oracle is an old standalone version from January 2010 that is pretty useless and doesn't interact with Oracle databases.
Despite all the Oracle statements about XQJ, I haven't been able to find any client/server XQJ implementation (except one from DataDirect of course) and the way to submit XQuery queries to Oracle databases appears to be through JDBC, embedded in PL-SQL statements.
It is possible in 12.
XQJ to run queries in Java:
http://docs.oracle.com/database/121/ADXDK/adx_j_xqj.htm#ADXDK99930
XQJ to run queries against the database:
http://docs.oracle.com/database/121/ADXDK/adx_j_xqjxdb.htm#ADXDK136

Connecting Ruby to MSSQL server without DBI

Is there a way to connect ruby to mssql without using DBI? Is there any native Ruby TDS lib that handles that?
FreeTDS comes to mind, however I have not used it.
Java TDS to MSSQL.
Ruby ODBC or Java ODBC
SOAP using TDS endpoints.
The MSSQL DBI is by far the better out of the lot of them. However I guess if you are running Linux and trying to connect to MSSQL, then try "FreeTDS". There are heaps of tut's and sites to show how to setup and configure for all flavours of Linux.
I've published an example application how to connect to an MS SQL Server with ruby, you can check it here.
It mask use of activerecord-sqlserver-adapter to allow ORM.

Resources