Mercurial > hg > orthanc-databases
annotate README @ 366:cd9521e04249 attach-custom-data
DatabaseBackendAdapterV4: added support for customData + revision when not already done
author | Alain Mazy <am@osimis.io> |
---|---|
date | Thu, 15 Sep 2022 18:12:34 +0200 |
parents | 8f109cfbfc5d |
children | f18e46d7dbf8 |
rev | line source |
---|---|
0 | 1 Database plugins for Orthanc |
2 ============================ | |
3 | |
4 | |
21 | 5 General information |
0 | 6 ------------------- |
7 | |
8 This repository contains the source code of various database plugins | |
9 for Orthanc, the lightweight, RESTful DICOM server. These plugins | |
10 enable Orthanc to store its index and its storage area within | |
11 well-known relational databases systems (RDBMS). | |
12 | |
13 | |
14 Content | |
15 ------- | |
16 | |
17 * ./Framework/ : code shared by all the plugins | |
21 | 18 * ./MySQL/ : index and storage plugins for MySQL and MariaDB |
0 | 19 * ./PostgreSQL/ : index and storage plugins for PostgreSQL |
337 | 20 * ./Odbc/ : index and storage plugins for Odbc |
0 | 21 * ./SQLite/ : index plugin for SQLite (for experimentation) |
22 | |
23 If you downloaded this project as a versioned release package | |
24 (.tar.gz) focused on one given RDBMS, you will only find the folders | |
25 that are related to this specific RDBMS. The full source code is | |
26 available at: | |
336
c0c12b3974b2
fix URLs to the old repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
21
diff
changeset
|
27 https://hg.orthanc-server.com/orthanc-databases/ |
0 | 28 |
29 | |
21 | 30 Compilation and usage |
31 --------------------- | |
32 | |
33 The compilation and usage of the plugins is available in the Orthanc | |
34 Book: | |
35 | |
36 * MySQL/MariaDB : http://book.orthanc-server.com/plugins/mysql.html | |
37 * PostgreSQL : http://book.orthanc-server.com/plugins/postgresql.html | |
337 | 38 * ODBC : http://book.orthanc-server.com/plugins/odbc.html |
21 | 39 |
40 | |
0 | 41 Older releases of PostgreSQL |
42 ---------------------------- | |
43 | |
44 This repository supersedes the older "orthanc-postgresql" repository | |
45 that was only focused on PostgreSQL. | |
46 | |
21 | 47 Releases <= 2.1 of the PostgreSQL plugins can still be found in the |
48 following legacy repository: | |
336
c0c12b3974b2
fix URLs to the old repositories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
21
diff
changeset
|
49 https://hg.orthanc-server.com/orthanc-postgresql/ |
0 | 50 |
51 | |
366
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
52 Development |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
53 ----------- |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
54 |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
55 PostgreSQL |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
56 ========== |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
57 |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
58 To quickly start a test PG server: |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
59 |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
60 docker run -p 5432:5432 --rm --env POSTGRES_HOST_AUTH_METHOD=trust postgres:13.4 |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
61 |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
62 And use this Orthanc configuration: |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
63 "PostgreSQL": { |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
64 "EnableIndex": true, |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
65 "EnableStorage": false, // DICOM files are stored in the Orthanc container in /var/lib/orthanc/db/ |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
66 "Host": "localhost", // the name of the PostgreSQL container |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
67 "Database": "postgres", // default database name in PostgreSQL container (no need to create it) |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
68 "Username": "postgres", // default user name in PostgreSQL container (no need to create it) |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
69 "Password": "postgres" |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
70 }, |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
71 |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
72 MySQL |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
73 ===== |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
74 |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
75 To quickly start a test MySQL server: |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
76 |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
77 docker run -p 3306:3306 --rm --env MYSQL_PASSWORD=orthanc --env MYSQL_USER=orthanc --env MYSQL_DATABASE=orthanc --env MYSQL_ROOT_PASSWORD=pwd-root mysql:8.0 mysqld --default-authentication-plugin=mysql_native_password --log-bin-trust-function-creators=1 |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
78 |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
79 And use this Orthanc configuration: |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
80 "MySQL": { |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
81 "EnableIndex": true, |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
82 "EnableStorage": false, |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
83 "Host": "localhost", |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
84 "Database": "orthanc", |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
85 "Username": "orthanc", |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
86 "Password": "orthanc", |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
87 "UnixSocket": "" |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
88 }, |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
89 |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
90 |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
91 ODBC (SQL Server) |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
92 ================= |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
93 |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
94 To quickly start a test MySQL server: |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
95 |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
96 docker run -e "ACCEPT_EULA=Y" --rm --env "SA_PASSWORD=yourStrong-Password" --entrypoint=bash -it -p 1433:1433 mcr.microsoft.com/mssql/server:2019-latest |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
97 |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
98 Then: |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
99 (sleep 15s && /opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P yourStrong-Password -Q 'CREATE DATABASE orthanctest') & /opt/mssql/bin/sqlservr |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
100 |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
101 And use this Orthanc configuration: |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
102 "Odbc" : { |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
103 "IndexConnectionString": "Driver={ODBC Driver 17 for SQL Server};Server=tcp:localhost,1433;Database=orthanctest;Uid=sa;Pwd=yourStrong-Password;Encrypt=yes;TrustServerCertificate=yes;Connection Timeout=30;", |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
104 "EnableIndex": true, |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
105 "EnableStorage": false |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
106 } |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
107 |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
108 |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
109 SQLite |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
110 ====== |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
111 |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
112 To quickly test the SQLite plugin, simply run orthanc and load the plugin (no configuration required). |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
113 |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
114 |
0 | 115 Licensing |
116 --------- | |
117 | |
118 The database plugins for Orthanc are licensed under the AGPL license. | |
119 | |
120 We also kindly ask scientific works and clinical studies that make | |
121 use of Orthanc to cite Orthanc in their associated publications. | |
122 Similarly, we ask open-source and closed-source products that make | |
123 use of Orthanc to warn us about this use. You can cite our work | |
124 using the following BibTeX entry: | |
125 | |
126 @Article{Jodogne2018, | |
127 author="Jodogne, S{\'e}bastien", | |
128 title="The {O}rthanc Ecosystem for Medical Imaging", | |
129 journal="Journal of Digital Imaging", | |
130 year="2018", | |
131 month="Jun", | |
132 day="01", | |
133 volume="31", | |
134 number="3", | |
135 pages="341--352", | |
136 issn="1618-727X", | |
137 doi="10.1007/s10278-018-0082-y", | |
138 url="https://doi.org/10.1007/s10278-018-0082-y" | |
139 } |