2022年12月27日

SurrealDB

史上最強のデータベース、SurrealDB - Qiita を参考にやってみたこと。

Ubutu22.04LTSを手元の旧機器にインストールしてテスト

01 
Ubuntuのインストール時に、ユーザー名を t20 としました
001_t20_2.png

02
Ubutuにログイン後、
ChromeをGUIで、インストール
001_t20 15-10-47.png

02
sudo apt install net-tools
ifconfig
002_ifconfig.png

03
ifconfig で、ipアドレスを確認 今回、この機器 192.168.24.63 でした
003_ifconfig.png

04
curlが必要なので
sudo apt install curl
004_curl.png
005_curl.png

05
ここから、SurrealDB の実行 (コマンドは3行のみで起動)
1行目
sudo curl -sSf https://install.surrealdb.com | sh
006_sur.png

06
2行目
PATH=/home/t20/.surrealdb:$PATH
t20は、Ubuntuのインストール時のユーザー名です
007_path15-25-34.png

07
インメモリで起動
surreal start --log debug --user root --pass root memory
008_sur_start.png
SurrealDBが起動中
009_sur_sart.png

08
Qitaの記事をもとに、REST のツールとして insomnia を使用するようで、最初、使い方がよくわらなかったのですが、
Insomniaを別の機器のWindows10のにインストールしてみました
01.png
02.png
ブラウザで日本語化で、参照
03.png
ダウンロード
04.png

09
セットアップを開始

05.png

06.png
07.png

10
Qita記事をもとに、 insomnia を設定し、実行してみます(insomnia で ローカルネットワーク内での 外部接続の確認)

 Qita記事から
  HTTPリクエスト
  URL: http://localhost:8000/sql は今回  http://192.138.24.63:8000/sqlは
  メソッド: POST
  Basic認証: ユーザ: root、パスワード: root
  ヘッダ
  Accept: application/json
  NS: test
  DB: test
  ボディ: SurrealQLの問い合わせ文
を設定していきます

08.png

http://192.138.24.63:8000/sql が正解で、 http://192.138.24.63/sql は間違い、エラーとなりますので後で修正します
09.png

BodyのプルダウンからPlanを選択(OtherでもOKそうです)
10.png

 Qita記事から
  問い合わせ例
  上記のHTTPリクエストのボディ部分に各SurrealQLの問い合わせ文を入れて送る。
  接続テスト
INFO FOR DB;
11.png

 Qita記事から
  Basic認証: ユーザ: root、パスワード: root
12.png
13.png

 Qita記事から
  ヘッダ
  Accept: application/json
  NS: test
  DB: test
14.png
15.png
16.png


11 
SEND ボタンを押します
 http://192.138.24.63/sql は間違い、エラーとなりますので後で修正します
17_err.png

http://192.138.24.63:8000/sql が正解
18.png

12
問い合わせ例の
 レコード追加
CREATE account SET
name = 'ACME Inc',
created_at = time::now()
19.png

CREATE author:john SET
name.first = 'John',
name.last = 'Adams',
name.full = string::join(' ', name.first, name.last),
age = 29,
admin = true,
signup_at = time::now();
20.png
CREATE article SET
created_at = time::now(),
author = author:john,
title = 'Lorem ipsum dolor',
text = 'Donec eleifend, nunc vitae commodo accumsan, mauris est fringilla.',
account = (SELECT id FROM account WHERE name = 'ACME Inc' LIMIT 1);
21.png

13
問い合わせ例の
 レコード取得
SELECT * FROM article;
22.png
SELECT * FROM article, account;
23.png
SELECT * FROM article WHERE author.age < 30 FETCH author, account;
24.png

あとは、Qitaの記事や本家のドキュメントをもとに、いろいろ、お試しできると思います

14
POSTMAN で 接続エラー
Cloud Agent Error: Can not send requests to reserved address. Make sure address is publicly accessible or select a different agent.
01.png
Postman Web サイトは、コンピューターのローカルホストに要求を送信できません
Postman Website cannot send a request to your computer's localhost. It first needs to connect to your PC with the Postman desktop client.
と、ここにありました

ここからデスクトップ版をダウンロードして
22.png































insomnia で ローカル機器内 接続の確認

insomnia で ローカルネットワークでの 外部接続の確認

POSTMAN 接続エラー

REST Debugger  接続エラー

TMS WebCORE



posted by a23 at 15:47| Comment(0) | REST API

2022年12月22日

Delphi Advent Calendar 2022 12/24

Delphi Advent Calendar 2022 12/24 の記事のソースを掲載したページです。
ソースコードです

ソースコードに dll が無いので、Oracle Instant Client からdllを取得してください



posted by a23 at 18:35| Comment(0) | Delphi

2022年12月12日

Delphi Advent Calendar 2022 12/13

Delphi Advent Calendar 2022 12/13 の記事のソースを掲載したページです。
ソースコードです


テストするWindowsのローカルの機器には、Microsoft  Access はインストールされていない状態とします。
そのまま実行するとエラーとなりますので、Access Runtime 2016のインストールが必要です

以下、手順の例(エラーを含む)
1.
01.png
2. 接続 でエラー
[FireDAC][Phys][ODBC][Microsoft][ODBC Microsoft Access Driver] データベース '(不明)' を開くことができません。アプリケーションで認識できないデータベースであるか、またはファイルが破損しています。 
02_1.png
3. Access Runtime 2016をインストールします
03.png
4. 今回は32bitしました
04_1.png
5.
05.png
6.
06.png
7.
07.png
8.
08.png
9.
09.png
10.
10.png


テストするWindowsのローカルの機器には、Microsoft  Access はインストールされていない状態なので、データベースを参照ツールとして、有名な A5:SQL Mk-2  フリーのSQLクライアント/ER図作成ソフト を使用します
以下手順 A5:SQL Mk-2 の詳細な手順は、検索でも手数ヒットしますし、A5:SQL Mk-2サイトにも豊富にドキュメントがあります。

11
21.png
12
22.png
13
23.png
14
24.png
15
25.png
16
26.png
17
27.png
18
28.png
19
29.png
20
30.png
21
31.png
22
32.png

33
33.png
34
34.png
35
35.png
36
36.png














posted by a23 at 17:31| Comment(0) | Delphi