タイムゾーンだけではなく、照合順序の話も。
以前のAccess Servicesの場合、現在の日時を取得しようとすると[サイトの設定]に関わることなく一定のタイムゾーンで取得するしかなかった。新しいOffice 365 は[サイトの設定]で定めたタイムゾーンで取得できる。ひとつひとつ確認するのでもよいのだけど、内部的にどうなってるのか確認したかった。
タイムゾーンに従った日時が得られる。 |
マクロでもデータマクロでも適正に処理される。
[サイトの設定]→[地域の設定]はこんな感じで。
オンプレミスな SharePoint 2013 を立ち上げて探ってもよいのだけど、できれば Office 365の環境で確認したい。そこで、出力した パッケージファイル(.app)を展開してみてみる。
事細かな内容は、dacpac をアンパックして確認。Nowとか関数は ストアドファンクション で定義されているのがわかった。タイムゾーンに関する定義があるので、サイトの設定のタイムゾーンが参照なりされる。ただし、Access アプリを作成した後タイムゾーンを変更しても Access アプリが採用するタイムゾーンは変更されない。
SQL Azure上に作成されるデータベースの照合順序も同様になる。Access アプリ作成時の並び替え順序が採用される。ロケールを"日本語"とした場合 Japanese_XJIS_100_CI_AS_KS_WSになっているはずで、パッケージファイル(.app)を確認するとそのように定義されている。
SQL Azure に直接接続もできるのでSSMSなどでも確認は可能。
あらかじめ用意されている関数では、マクロやデータマクロがどのように変換されているか参照することもできた。まぁ、見たところで直接役に立つということではないのだけど。
0 件のコメント:
コメントを投稿