[seasar-dotnet:2340] Re: SQL Server での別名(和名)の利用について

kubo [E-MAIL ADDRESS DELETED]
2014年 1月 23日 (木) 00:42:11 JST


jfluteです

うーむー...そうしましたら、

> @level0type = N'SCHEMA',
> @level0name = dbo,
> @level1type = N'TABLE',
> @level1name = EMP;

SCHEMAをschemaに、TABLEをtableに変更してみてください。
よもやって感じですが、今のところそこしか違いがないので。

Exampleでは、正常にコメント取得できています。
(dbflute-sqlserver-example)
ただ、SQLServerに関しては「これでいいのかなぁ」
っていう迷いが少しあります。
「MS_Description」なんかがそうです。
(これ固定でいいんだろうか...って)


// ReplaceSchemaでこれを実行しています
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'会員:
会員登録時にInsertされる。
物理削除されることはない'
  , @level0type=N'schema', @level0name=N'dbo'
  , @level1type=N'table' , @level1name=N'MEMBER'
;
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'会員ID: 連番'
  , @level0type=N'schema', @level0name=N'dbo'
  , @level1type=N'table' , @level1name=N'MEMBER'
  , @level2type=N'column' , @level2name=N'MEMBER_ID'
;
EXEC sys.sp_addextendedproperty @name=N'MS_Description',
@value=N'会員名称: 会員検索の条件となる。'
  , @level0type=N'schema', @level0name=N'dbo'
  , @level1type=N'table' , @level1name=N'MEMBER'
  , @level2type=N'column' , @level2name=N'MEMBER_NAME'
;

// このSQLでコメントを取得しています
final StringBuilder sb = new StringBuilder();
sb.append("select cast(objtype as nvarchar(500)) as OBJECT_TYPE");
sb.append(", cast(objname as nvarchar(500)) as TABLE_NAME");
sb.append(", cast(value as nvarchar(4000)) as COMMENTS");
sb.append(" from fn_listextendedproperty");
sb.append("('MS_Description'");
sb.append(", 'schema', '").append(_unifiedSchema.getPureSchema()).append("'");
sb.append(", 'table', default, default, default)");
sb.append(" order by TABLE_NAME asc");
final String sql = sb.toString();

2014/1/22 竹内学 <mtakeuchi @ ailesys.co.jp>:
> 竹内です。
>
> レス有り難うございました。
>
>> Description を MS_Description にして試して頂けますでしょうか?
>
> @name = N'MS_Description' および @name = N'MS_DESCRIPTION' の両方で試してみましたが、ダメでした。
>
>
>
>
> 2014年1月22日 17:01 kubo <dbflute @ gmail.com>:
>> 久保(jflute)です
>>
>> 竹内さん、こんにちは
>> DBFlute.NETご利用ありがとうございます!
>>
>>
>>> EXEC sys.sp_addextendedproperty
>>> @name = N'Description',
>> 取り急ぎですが、
>> Description を MS_Description にして試して頂けますでしょうか?
>>
>>
>>
>> 2014/1/22 竹内学 <mtakeuchi @ ailesys.co.jp>:
>>> 竹内です。お世話様です。
>>>
>>> 現在 DBFlute.NET 0.8.0.55 + SQL Server 2012 にて開発をしております。
>>>
>>> さて、テーブル、カラムへの別名(和名)の利用について質問です。
>>>
>>> Oracle 等ではテーブルやフィールドに comment on table EMP is '従業員テーブル:従業員情報を格納します';
>>> とか comment on column EMP.NAME is '従業員名:';
>>> などでコメントを付けますと、doc.bat で生成される schema-projectname.html に別名/コメントが出力されます。
>>>
>>> SQL Server の場合、
>>> EXEC sys.sp_addextendedproperty
>>> @name = N'Description',
>>> @value = N'従業員テーブル:従業員情報を格納します',
>>> @level0type = N'SCHEMA',
>>> @level0name = dbo,
>>> @level1type = N'TABLE',
>>> @level1name = EMP;
>>>
>>> EXEC sys.sp_addextendedproperty
>>> @name = N'Description',
>>> @value = N'従業員名',
>>> @level0type = N'SCHEMA',
>>> @level0name = dbo,
>>> @level1type = N'TABLE',
>>> @level1name = EMP,
>>> @level2type = N'COLUMN',
>>> @level2name = NAME;
>>>
>>> で、テーブル、フィールドそれぞれにコメントを付けても html 等には出力されません。
>>>
>>> これは SQL Server を利用する場合の制限事項なのでしょうか?
>>>
>>> よろしくお願いします。
>>>
>>>
>>> --
>>> 竹内 学 <mailto:mtakeuchi @ ailesys.co.jp>
>>> 株式会社エールシステム
>>> _______________________________________________
>>> seasar-dotnet mailing list
>>> seasar-dotnet @ ml.seasar.org
>>> https://ml.seasar.org/mailman/listinfo/seasar-dotnet
>> _______________________________________________
>> seasar-dotnet mailing list
>> seasar-dotnet @ ml.seasar.org
>> https://ml.seasar.org/mailman/listinfo/seasar-dotnet
>>
>
>
>
> --
> 竹内 学 <mailto:mtakeuchi @ ailesys.co.jp>
> 株式会社エールシステム
> 〒386-0001 長野県小諸市大字市665-9
> Phone: 0267-25-5990
> Facsimile: 0267-26-1324
> _______________________________________________
> seasar-dotnet mailing list
> seasar-dotnet @ ml.seasar.org
> https://ml.seasar.org/mailman/listinfo/seasar-dotnet


seasar-dotnet メーリングリストの案内