経緯
社内に立てたMicrosoft SQLServer をAndroid端末で利用したかった。でもできなそうだった。 Windowsタブレットなら簡単だろうけど、高価なのでできれば安いAndroidで考えたかった。 こういった使い方は邪道なので、仕方ないのかもしれない。あきらめることにした。
環境
Windows10 pro 22H2
visual studio 2022 Community (MAUI)
SQLServer 2022 Express
Unity 2021.3.5f1
検討、検証したこと
まず筆頭候補Xamarin。
これはできる。が、来年2024年にサービスが終わるらしいので避けた。
Androidstudio。
試してないが、知り合い曰くできないらしい。
Unity。
試したがうまくいかなかった。AsetStoreにて「SQL for Unity Database」なるものが見受けられたのでやはり普通にはできないのだろう。
$100と高価だし、マイナーなアセットで使い方も理解できるか不安があったので避けた。
最後に希望の星MAUI。できそうでなんだかできなかった。。。。
おそらくだが、一般的にC#にてSQLを利用する際に使用される「System.Data.SqlClient」ライブラリがMAUIでは使えないことが原因に思う。
using System.Data.SqlClient
と記述すると構文エラー。調べてみると、代替で「MicroSoft.Data.SqlClient」を使おう、とおっしゃっているページをいくつか見つけた。
「MicroSoft.Data.SqlClient」をNuGetからとってきてusingするとWindowsエミュレートで動いた。しかしandroid実機では動かなかった。。。
名前通りMicroSoftのライブラリなので、Windowsでは動くけど、Androidまでカバーしてないのは仕方がないと思う。
所感
Unity「SQL for Unity Database」を試す気はない。
MAUIのアップデートでSystem.Data.SqlClientが使えるようになればあり得るのかもしれない。
MAUIはGUIをXAMLで手書きなのがストレス。こちらもアップデートを祈る。
というか、Microsoft側もわざとこういう使い方(携帯情報端末をローカルに使う)を排斥しようとしているかもしれない。IP直打ちでVBAが動かないのもそう感じた。 邪道なやり方は可能な限り避けるべきで、携帯情報端末らしくWebサーバーを使うのが正解なのだろう。