How to encrypt FireDAC connection to use TLS/SSL in Delphi? - oracle

How do I configure TFDConnection of FireDAC to use TLS/SSL encryption?
I want to encrypt the connection to the Oracle database.
I use Delphi 10.3 and Oracle thin client in win 10.

Related

Delphi FireDac network encryption with Oracle

I'm looking for a possibility to encrypt the connection to our Oracle database. I did find this post below:
How to encrypt FireDAC connection to use TLS/SSL in Delphi?
The only answer I see there is that we have to buy ($3000/developer, wow) and use a CData component.
Is FireDAC ready for using network encryption with an Oracle DB? If so, how do I configure that?
Don’t know about FireDac secure connection, but we use third-party components for this. First of all – it’s not a good idea to leave Oracle DB open from anywhere on the internet, try to change your application architecture to use (for example) REST-API from the internet and secure vpn or closed part of the network between REST-Server and Oracle. If it’s not possible or the client is in “paranoid mode” then you can use Devart ODAC and Devart SecureBridge. This allows you to connect to Oracle securely. It's not free, but it's not $3,000 for a developer either. Here is a documentation how to use it: https://docs.devart.com/odac/ssl.htm

Powershell Oracle DB connection using Encrypted Credentials

I was able to get connected to Oracle using the ManagedDataAccess (.net) connection for Oracle, but is there a way to use OracleCredential instead of the string password in the connection string?

Oracle instant client 12c EZConnect Using tcps instead of tcp

I download oracle instant client 12.2.0.1.0, I try to use sql loader to load csv data to the database. I can successfully load using following:
sqlLdr.exe userid=user/password#//192.9.200.228:1521/oracle ERRORS=4000 control=D:\temp\csma\xx_20190225.ctl log=D:\temp\csma\xx.log
However my production would only allow secured connection only (use tcps), can I use tcps by EZConnect? If not how can I connect using tcps using just the instant client (not full client)?
Instant Client based applications can connect using a Net Service Name from a tnsnames.ora file. The Instant Client installation instructions (eg. the instructions for Linux x64) tell you where to put the Oracle Net configuration files. Create the default location, put the files there, and update the connect string in your application.
With Oracle 19c, the Easy Connect syntax was extended to be 'Easy Connect Plus' so you specify things like the wallet location in-line, see the Understanding the Easy Connect Naming Method in the Oracle Net 19c documentation. No Instant Client 19c has been released yet.

Use Oracle Wallet without installing the Oracle Client

I am using OCI lib to connect a client application to Oracle database. I would like to use Wallet to store the keys but it looks like the only way to store the key in Wallet is by using mkstore or orapki.
Those tools are available when installing Oracle Client but I don't want my customers to download Oracle Client on their machine.
Is there any way that I can create and store the credentials in a Wallet without installing Oracle Client? Can I redistribute orapki or mkstore? Is there any API?

Connect Excel to Oracle

Can we connect from excel (excel-VBA) to oracle(in a remote server) without
installing oracle client in the client system... I tried all the options
below but it is throwing error as oracle client should be installed.
below is the connectionstring i have used
1)strConnection = "Provider=OraOLEDB.Oracle;Data Source=SourceName;User Id=Username;
Password=password;"
2)strConnection = "Provider=MSDAORA;Data Source=SourceName;UserId=Username;
Password=password;"
3)strConnection = "Provider=MSDAORA.1;User ID=Username/password;Data
Source=SourceName;Persist Security Info=False"
4)strConnection = "Driver={Microsoft ODBC for Oracle};SERVER=(DESCRIPTION=
(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.2.6)(PORT=1521)
)(CONNECT_DATA (SERVICE_NAME=SERVICEName)));uid=Username;
pwd=password;Uid=Username;Pwd=password;"
5)strConnection = "SERVER=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.2.6)
(PORT=1521))(CONNECT_DATA =(SERVICE_NAME=SERVICEName)));
uid=Username;pwd=password;"
You need some form of client to connect to an Oracle database, local or remote.
You have two choices:
Install an Oracle SQL*Net client. If your server is Oracle 10g or higher you don't need the full-blown client: you can use the more lightweight Instant Client.
Buy an n-tier ODBC driver which supports generic connectivity. OpenLink is one, there are others.
".can we not connect to the oracle
database with only the Drivers or
providers present in our OS(Windows
XP).."
Think of it this way: the ODBC drivers do not connect to the database, they connect to SQLNet. Then SQLNet connects to the database.
"what is the difference between
Drivers,providers with the client. "
The Oracle provided drivers are better tuned for Oracle than the ones MS provides, but in this context they are the same: both require the presence of an Oracle client to work.

Resources