2013/03/11

Office 365 Access アプリ -5- 地域の設定とか

SQL Azure で使用できる関数はよいのだけど、TodayとかNowとか。
タイムゾーンだけではなく、照合順序の話も。

  以前の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 件のコメント: