Skip to main content

Databases

Learn how to store database credentials in RAW.

How to create

RAW supports storing relational databases (RDBMS) credentials. In order to set up an RDBMS source, select RDBMS tab from the Credentials view. The following form will be shown:

RDBMS form

Currently, RAW supports the following RDBMSs:

  • MySQL
  • Microsoft SQL Server
  • PostgreSQL
  • Oracle
  • Snowflake
  • Teradata

For each RDBMS Credential, the following fields need to be specified:

  • Name: Represents the name of our instance. This is arbitrary text and is intended to be referenced by our code file
  • Host: The IP of the database server, i.e. 'localhost', '10.123.29.253', or 'mydb.mycompany.com'
  • Port: The port that our db server is exposed to, e.g. '3306', '5432', etc
  • Database: The schema we want to access, e.g. 'my_schema' or 'customers' or 'payments', etc
  • Username, Password: Login credentials to our schema.

For reference purposes, a sample for MySQL Credential is shown. Fill the respective fields and select Save. The fields are the following:

All the above are of course cryptographically stored in our system.

Fill Fields

In the case that we have provided a host/port that is not accessible by our instance, upon saving the datasource you will see a popup alert on the bottom right side of the screen that will inform you that the specified data are not valid.

host not accessible

In the case where you provided a host/port correctly, but provided wrong credentials, you will again see the entry in the list, but when trying to verify accessibility you will get the visual notification 'No Access'

Test Access

After selecting 'Test Access', and if our datasource is indeed accessible, we will see the visual notification on the changed button, as 'Accessible'

Accessible

How to use from Snapi

An example of SQL access can be seen in the following code:

actors(name: string) =
let
data = MySQL.InferAndRead("filmdb", "actor")
in
Collection.Filter(data, x -> x.first_name == name)