[seasar-dotnet:1427] Re: SQLSERVERのコメント

kubo [E-MAIL ADDRESS DELETED]
2009年 8月 6日 (木) 15:45:45 JST


久保(jflute)です。

> EXEC sys.sp_updateextendedproperty @name=N'MS_Description', @value=N'会員'
>  , @level0type=N'SCHEMA', @level0name=N'dbo'
>  , @level1type=N'TABLE' , @level1name=N'MEMBER'
> ;
「sp_addextendedproperty」にしたらエラーにはならないようになりました。
(再度実行しても特にエラーにはならず)
ですが、
SELECT objtype, objname, name, value
  FROM fn_listextendedproperty('MS_Description', 'schema', 'dbo',
'table', 'MEMBER', 'column', default)
で、0件HITなのでうまく動いてないのかも...

2009/8/6 kubo <[E-MAIL ADDRESS DELETED]>:
> 久保です。
>
> 八鍬さん、情報ありがとうございます。
> Oracleでは既に「OracleだったらIF文」で
> データディクショナリを参照してコメントを
> 取得していますので、同じような感じでできたらいいかなと。
>
> 一応「MS_Description」という名前は習慣的なもので任意ですよね?
> ただネットで色々調べてみるとみんなこの名前を使ってるようなので、
> 固定にして処理してもいいのかなぁと。
>
> ちなみに、今「dbflute-sqlserver-example」(SQLServer 2005 Express)で
> EXEC sys.sp_updateextendedproperty @name=N'MS_Description', @value=N'会員'
>  , @level0type=N'SCHEMA', @level0name=N'dbo'
>  , @level1type=N'TABLE' , @level1name=N'MEMBER'
> ;
> ってな感じでReplaceSchemaから実行しようとしてるのですが、
>
> プロパティを更新または削除できません。
> 'dbo.MEMBER' のプロパティ 'MS_Description' が存在しません。
> (SQLState=S0002 ErrorCode=15217)
>
> となってしまいました...
> 何か分かることがあれば情報頂けると助かります。
>
> 2009/8/6 Tatsuya Yakuwa <[E-MAIL ADDRESS DELETED]>:
>> 久保様、回答ありがとうございます。
>>
>>> 現状では不可能ですが、このやり方が汎用的な仕組みとして
>>> 利用出来るならばDBFluteでも対応したいとは考えます。
>>
>> 了解いたしました。
>>
>>
>>> 拡張プロパティってどういう感じの扱いになるものでしょうか?
>>> (プログラムからその値を取得するときにどのようなSQLを書けば...)
>>
>> ストアドを使用して、以下のような構文で取得できます。
>> (詳しくは、MSDNにありました。)
>> --
>> --カラムに拡張プロパティをMS_Descriptionというプロパティ名でセットした場合。
>> --
>> SELECT objtype, objname, name, value
>> FROM fn_listextendedproperty(NULL, 'schema', 'dbo', 'table', 'Com_Bank',
>> 'column', default)
>> --
>> 結果セット
>> objtype|objname|name|value
>> COLUMN|bank_cd|MS_Description|銀行コード
>> ...
>> となります。
>>
>> MSDN
>> http://msdn.microsoft.com/ja-jp/library/ms179853.aspx
>>
>>
>> 以上です。
>>
>>
>> On Thu, 06 Aug 2009 14:45:22 +0900, kubo <[E-MAIL ADDRESS DELETED]> wrote:
>>
>>> 久保です。
>>>
>>> 八鍬さん、こんにちは
>>>
>>>> Doc.bat実行後に作成されるschemaHTMLのComment欄に、
>>>> このような任意の拡張プロパティの値を反映させることは可能でしょうか?
>>>
>>> 現状では不可能ですが、このやり方が汎用的な仕組みとして
>>> 利用出来るならばDBFluteでも対応したいとは考えます。
>>> http://d.hatena.ne.jp/jflute/20081028/1225120253
>>> と組み合わせれば、SQLServerでも良い感じのSchemaHTMLが
>>> できるようになるんじゃないかと。
>>>
>>> で、申し訳ありませんが、
>>> 拡張プロパティってどういう感じの扱いになるものでしょうか?
>>> (プログラムからその値を取得するときにどのようなSQLを書けば...)
>>>
>>> 2009/8/6 Tatsuya Yakuwa <[E-MAIL ADDRESS DELETED]>:
>>>>
>>>> 八鍬(やくわ)と申します。
>>>>
>>>> Doc.bat実行後に作成されるschemaHTMLについて、おたずねします。
>>>>
>>>> SQLSERVERには、コメント構文がないので。
>>>> 拡張プロパティを使用して、DB上にテーブルの論理名及びカラムの論理名を定義しています。
>>>> こんな構文で生成されてます。
>>>> --
>>>> EXEC sys.sp_updateextendedproperty @name=N'MS_Description',
>>>> @value=N'金融機関マスタ' , @level0type=N'SCHEMA'[E-MAIL ADDRESS DELETED]=N'dbo',
>>>> @level1type=N'TABLE'[E-MAIL ADDRESS DELETED]=N'Com_Bank'
>>>> --
>>>> (某ERツールの仕様なんですが。。。)
>>>>
>>>>
>>>> Doc.bat実行後に作成されるschemaHTMLのComment欄に、
>>>> このような任意の拡張プロパティの値を反映させることは可能でしょうか?
>>>>
>>>> もしくは、別の方法でComment欄を生成することは可能でしょうか?
>>>>
>>>> 外部キーをadditionalForeignKeyMap.dfpropで定義しているので、
>>>> それを反映したドキュメント(ER)として、schemaHTMLを利用したいという意図です。
>>>>
>>>> 以上です。
>>>> よろしくお願いします。
>>>>
>>>> --
>>>> 八鍬 達也
>>>> _______________________________________________
>>>> seasar-dotnet mailing list
>>>> [E-MAIL ADDRESS DELETED]
>>>> https://ml.seasar.org/mailman/listinfo/seasar-dotnet
>>>>
>>> _______________________________________________
>>> seasar-dotnet mailing list
>>> [E-MAIL ADDRESS DELETED]
>>> https://ml.seasar.org/mailman/listinfo/seasar-dotnet
>>>
>>> __________  ESET NOD32 Antivirus からの情報, ウイルス定義データベースのバージョン 4310 (20090805)
>>> __________
>>>
>>> このメッセージは ESET NOD32 Antivirus によって検査済みです。
>>>
>>> http://canon-its.jp
>>>
>>>
>>>
>>
>>
>>
>> --
>> *----**===**----**===**----**===**----**===**----*
>>  株式会社 エム・エス・アイ
>>  システム部 八鍬 達也
>> Add:山形市松栄1-5-7
>> Tel:023-647-3966 Fax:023-647-3967
>>  E-mail:[E-MAIL ADDRESS DELETED]
>>  ☆ ★ ☆    社員ブログ更新中!!!    ☆ ★ ☆
>> http://www.msi-net.co.jp/blog/index.html
>> *----**===**----**===**----**===**----**===**----*
>> _______________________________________________
>> seasar-dotnet mailing list
>> [E-MAIL ADDRESS DELETED]
>> https://ml.seasar.org/mailman/listinfo/seasar-dotnet
>>
>


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