Added setup instructions for some databases.

This commit is contained in:
feyris-tan 2026-01-18 20:53:52 +01:00
parent 61bca1c0e7
commit d4335858a1
9 changed files with 136 additions and 0 deletions

3
.gitignore vendored
View File

@ -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

View File

@ -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:
<pre>
create user voile identified by "12345" default tablespace USERS temporary tablespace TEMP
/
</pre>
5. Give the new Voile user Grants:
<pre>GRANT CONNECT, CREATE TABLE, CREATE VIEW, CREATE SEQUENCE, CREATE PROCEDURE, CREATE TRIGGER TO VOILE;</pre>
6. Give the user space:
<pre>ALTER USER voile QUOTA UNLIMITED ON USERS;</pre>
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`

View File

@ -0,0 +1,9 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
</Project>

View File

@ -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!

View File

@ -0,0 +1,9 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
</Project>

View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup />
<ItemGroup>
<None Update="README.md">
<SubType>Component</SubType>
</None>
</ItemGroup>
</Project>

View File

@ -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:
<pre>
create database voile;
go
</pre>
3. Create a user for Voile:
<pre>
create login voile with password = 'V01le2345';
go
</pre>
4. Grant owner privilege to the voile user on the voile database:
<pre>
USE voile;
CREATE USER voile FOR LOGIN voile;
ALTER ROLE db_owner ADD MEMBER voile;
GO
</pre>
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`

View File

@ -0,0 +1,9 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
</Project>

View File

@ -1,5 +1,8 @@
<Solution>
<Project Path="../skyscraper8/skyscraper8/skyscraper8.csproj" />
<Project Path="Sophia.Net.DRM/Sophia.Net.DRM.csproj" />
<Project Path="Voile.Storage.Oracle/Voile.Storage.Oracle.csproj" Id="9e1745dd-beb2-409d-bd40-73e3a975f43d" />
<Project Path="Voile.Storage.Postgresql/Voile.Storage.Postgresql.csproj" Id="97e3d78d-bc7a-45ad-8a51-bf342703f3c1" />
<Project Path="Voile.Storage.SqlServer/Voile.Storage.SqlServer.csproj" Id="5409177f-bce3-45b2-b28d-bc2be300b4e9" />
<Project Path="Voile/Voile.csproj" />
</Solution>