From d4335858a1431f557c24f9d9672053eead56a61f Mon Sep 17 00:00:00 2001 From: feyris-tan <4116042+feyris-tan@users.noreply.github.com> Date: Sun, 18 Jan 2026 20:53:52 +0100 Subject: [PATCH] Added setup instructions for some databases. --- .gitignore | 3 ++ Voile.Storage.Oracle/README.md | 33 +++++++++++++++ .../Voile.Storage.Oracle.csproj | 9 +++++ Voile.Storage.Postgresql/README.md | 21 ++++++++++ .../Voile.Storage.Postgresql.csproj | 9 +++++ .../Voile.Storage.Postgresql.csproj.user | 9 +++++ Voile.Storage.SqlServer/README.md | 40 +++++++++++++++++++ .../Voile.Storage.SqlServer.csproj | 9 +++++ Voile.slnx | 3 ++ 9 files changed, 136 insertions(+) create mode 100644 Voile.Storage.Oracle/README.md create mode 100644 Voile.Storage.Oracle/Voile.Storage.Oracle.csproj create mode 100644 Voile.Storage.Postgresql/README.md create mode 100644 Voile.Storage.Postgresql/Voile.Storage.Postgresql.csproj create mode 100644 Voile.Storage.Postgresql/Voile.Storage.Postgresql.csproj.user create mode 100644 Voile.Storage.SqlServer/README.md create mode 100644 Voile.Storage.SqlServer/Voile.Storage.SqlServer.csproj diff --git a/.gitignore b/.gitignore index 263141f..668b6b0 100644 --- a/.gitignore +++ b/.gitignore @@ -19,3 +19,6 @@ /Sophia.Net.DRM/bin/Debug/net8.0 /Sophia.Net.DRM/obj/Debug/net8.0 /Sophia.Net.DRM/obj +/Voile.Storage.Oracle/obj +/Voile.Storage.Postgresql/obj +/Voile.Storage.SqlServer/obj diff --git a/Voile.Storage.Oracle/README.md b/Voile.Storage.Oracle/README.md new file mode 100644 index 0000000..e94a1f2 --- /dev/null +++ b/Voile.Storage.Oracle/README.md @@ -0,0 +1,33 @@ +# Voile Oracle Driver + +This program is intended to use Oracle.ManagedDataAccess to connect Voile to a Oracle AI Database 26ai database. + +## Getting started + +1. Install the database or get a container going. A guide to create the contianer is provided below: +2. Create a CDB or PDB for Voile. In this example, we're using Oracle's Free Version, so this has already been done for us. +3. Use any Oracle administration tool to connect to your CDB or PDB using the "sys as sysdba" user. +4. Using the sys as sysdba user, create a user for Voile: +
+create user voile identified by "12345" default tablespace USERS temporary tablespace TEMP
+/
+
+5. Give the new Voile user Grants: +
GRANT CONNECT, CREATE TABLE, CREATE VIEW, CREATE SEQUENCE, CREATE PROCEDURE, CREATE TRIGGER TO VOILE;
+6. Give the user space: +
ALTER USER voile QUOTA UNLIMITED ON USERS;
+ +7. You're done - happy DXing! + +### Creating the container +1. First create a directory to store the ORADATA. + +`mkdir /data/oracle` + +2. Give proper permissions to the folder: + +`chown -Rv 54321:54321 /data/oracle` + +3. Start the Oracle container: + +`docker run -d --add-host=oracle:127.0.0.1 --memory=2G --name oracle --hostname oracle -p 1521:1521 -v /data/oracle:/opt/oracle/oradata -e ORACLE_PWD=12345 container-registry.oracle.com/database/free:latest` diff --git a/Voile.Storage.Oracle/Voile.Storage.Oracle.csproj b/Voile.Storage.Oracle/Voile.Storage.Oracle.csproj new file mode 100644 index 0000000..fa71b7a --- /dev/null +++ b/Voile.Storage.Oracle/Voile.Storage.Oracle.csproj @@ -0,0 +1,9 @@ + + + + net8.0 + enable + enable + + + diff --git a/Voile.Storage.Postgresql/README.md b/Voile.Storage.Postgresql/README.md new file mode 100644 index 0000000..83cc999 --- /dev/null +++ b/Voile.Storage.Postgresql/README.md @@ -0,0 +1,21 @@ +# Voile PostgreSQL Driver + +This program is intended to connect Voile to a PostgreSQL 17 or PostgreSQL 18 database. +For older PostgreSQL versions, another driver will be needed. + +## Setting up PostgreSQL + +1. Install the database or run it in a container. +HINT: `docker run -d --restart=unless-stopped --name postgres -p 5432:5432 -e POSTGRES_PASSWORD=12345 -v /data/postgres:/var/lib/postgresql postgres:18.1-alpine3.23` + +2. Connect to the PostgreSQL Database using any administration utility and create a database and a user for Voile: + +`CREATE DATABASE voile; +CREATE USER voile WITH ENCRYPTED PASSWORD '12345'; +GRANT ALL PRIVILEGES ON DATABASE voile to voile;` + +3. Now set your administration utility to connect to the "voile" database and give the "voile" user access to the public schema: + +`GRANT ALL ON SCHEMA public TO voile;` + +4. You're all set, happy DXing! \ No newline at end of file diff --git a/Voile.Storage.Postgresql/Voile.Storage.Postgresql.csproj b/Voile.Storage.Postgresql/Voile.Storage.Postgresql.csproj new file mode 100644 index 0000000..fa71b7a --- /dev/null +++ b/Voile.Storage.Postgresql/Voile.Storage.Postgresql.csproj @@ -0,0 +1,9 @@ + + + + net8.0 + enable + enable + + + diff --git a/Voile.Storage.Postgresql/Voile.Storage.Postgresql.csproj.user b/Voile.Storage.Postgresql/Voile.Storage.Postgresql.csproj.user new file mode 100644 index 0000000..962e83a --- /dev/null +++ b/Voile.Storage.Postgresql/Voile.Storage.Postgresql.csproj.user @@ -0,0 +1,9 @@ + + + + + + Component + + + \ No newline at end of file diff --git a/Voile.Storage.SqlServer/README.md b/Voile.Storage.SqlServer/README.md new file mode 100644 index 0000000..eb3bf81 --- /dev/null +++ b/Voile.Storage.SqlServer/README.md @@ -0,0 +1,40 @@ +# Voile SQL Server Driver + +This program is intended to connect Voile to a Microsoft SQL Server. + +## Getting started + +1. Install SQL Server or run it in a container. For this example, we'll start a container. See below. +2. Connect to your SQL Server and create a database for Voile: +
+create database voile;
+go
+
+3. Create a user for Voile: +
+create login voile with password = 'V01le2345';
+go
+
+4. Grant owner privilege to the voile user on the voile database: +
+USE voile;
+CREATE USER voile FOR LOGIN voile; 
+ALTER ROLE db_owner ADD MEMBER voile;
+GO
+
+ +5. You're all set, happy DX'ing! + +## Starting SQL Server 2025 in a container +1. Create a folder for the volume: + +`mkdir /data/sqlserver` + +2. Set permissions on the volume: + +`chown -Rv 10001:10001 /data/sqlserver` + +3. Start the container: + +`docker run --rm -it -e "MSSQL_SA_PASSWORD=Voile12345" --memory=1G --name sqlserver -e "ACCEPT_EULA=Y" -v /data/sqlserver:/var/opt/mssql/data -p 1433:1433 mcr.microsoft.com/mssql/server:2025-latest` + diff --git a/Voile.Storage.SqlServer/Voile.Storage.SqlServer.csproj b/Voile.Storage.SqlServer/Voile.Storage.SqlServer.csproj new file mode 100644 index 0000000..fa71b7a --- /dev/null +++ b/Voile.Storage.SqlServer/Voile.Storage.SqlServer.csproj @@ -0,0 +1,9 @@ + + + + net8.0 + enable + enable + + + diff --git a/Voile.slnx b/Voile.slnx index ed7b54a..f6192fa 100644 --- a/Voile.slnx +++ b/Voile.slnx @@ -1,5 +1,8 @@ + + +