[seasar-dotnet:1902] Re: 自動発行SQLのテーブル名にクォート

井上忠彦 [E-MAIL ADDRESS DELETED]
2011年 1月 12日 (水) 23:31:10 JST


久保様

ご回答ありがとうございます。

ご教授いただきましたquoteTableNameListにて
試してみようとしておりますが、現状うまくいっておらず、
たびたび申し訳ございませんが、確認させていただけませんでしょうか。
(見づらいメールとなり、申し訳ございません。)

まず、DBFluteを0.8.9.9→0.8.9.22とアップグレードしたところ、
jdbc.batがエラーとなってしまいました。

--- ここから
2011-01-12 22:13:48,079 [main] INFO
(TorqueJDBCTransformTask#generateXML():265) - $ [Table List]
2011-01-12 22:13:48,095 [main] INFO
(TorqueJDBCTransformTask#processTable():296) - $ MY.TBLCONTROL(TABLE)
2011-01-12 22:13:48,516 [main] INFO
(TorqueJDBCTransformTask#processTable():296) - $ MY.コントロール(TABLE)
2011-01-12 22:13:48,547 [main] ERROR
(DfDBFluteTaskUtil#logException():156) - Look! Read the message below.
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Failed to execute DBFlute Task 'JDBC'.

[Advice]
Check the exception messages and the stack traces.

[Database Product]
Oracle Oracle Database 11g Release 11.2.0.1.0 - 64bit Production

[JDBC Driver]
Oracle JDBC driver 11.1.0.7.0-Production for JDBC 11.1
* * * * * * * * * */
java.lang.IllegalStateException: java.sql.SQLException: コールに無効な引
数があります。
--- ここまで

アップグレード前のバージョン(0.8.9.9)でのdbflute.logの同様の箇所は次の
とおりです。

--- ここから
2011-01-12 22:12:28,628 [main] INFO
(TorqueJDBCTransformTask#generateXML():273) - $ MY.TBLCONTROL(TABLE)
2011-01-12 22:12:40,453 [main] INFO
(TorqueJDBCTransformTask#generateXML():273) - $ MY.コントロール(TABLE)
2011-01-12 22:12:40,484 [main] WARN
(TorqueJDBCTransformTask#generateXML():369) - Failed to get unique
column information! But continue...
java.sql.SQLException: コールに無効な引数があります。
--- ここまで

試しに他のバージョンでも試してみたところ、
0.8.9.15までは「WARN」ですが、0.8.9.16以降は「ERROR」となります。
初歩的なことかもしれませんが、何か情報ございましたら、
ご教授いただけませんでしょうか?

またquoteTableNameListについてですが、
ログに出力されるSQLが変わるかどうか?という判断で問題ないでしょうか?
0.8.9.15にて試している現状では、
ログ中のSQLをみるところ、テーブル名にダブルクォートはついておりません。


以上、よろしくお願いいたします。

(11/01/12 (水) 22:42), kubo wrote:
> 久保(jflute)です。
> 
> 一応、報告です。
> quoteTableNameList と quoteColumnNameList は、
> ReplaceSchema の LoadData に対応していませんでしたが、
> 次のバージョンでは対応されます(既に修正しました)。
> dbflute-mysql-example に Example があります。
> 
> 2011/1/12 kubo<[E-MAIL ADDRESS DELETED]>:
>> 久保(jflute)です。
>>
>> 井上さん、おはようございます。
>>
>> こちらをご覧下さい。
>> http://dbflute.sandbox.seasar.org/ja/environment/supported.html#unsupportedname
>>
>> どうにもならない状況であれば、こちらで
>> 言及されているオプションを試してみて下さい。
>>
>> Java版のDBFluteでは、積極的サポートしていないと言いつつ、
>> 実はテストもそれなりにされており、ほとんどの機能が動く状態です。
>> しかしながら、DBFlute.NET(C#版)ではその限りではありません。
>> 実際に動かしてもらわないとその精度はなんとも言えません。
>> また、DBFlute.NETはS2Dao.NETに処理を委譲しているため、
>> DBFluteの方で、EntityのBean属性にクォーテーションをしたとしても、
>> S2Dao.NETでそれをうまく受け取ってくれるかどうかは不明です。
>> (結局、とりあえず試してもらう以外にありません)
>>
>> また、そのオプションが 0.8.9.9 でサポートされていたかどうか、
>> ちょっとパッとコメントできませんので、これも実際にお試し下さい。
>> (カラム名の方は比較的最近なので、できないかもしれません)
>> もし、アップグレード可能であればその方が確実です。
>>
>> #
>> # 質問の背景が明確なので、コメントしやすくとても助かります。
>> # すいませんがこの後、夜までメール見れないのでご了承下さい。
>> #
>>
>> 2011/1/11 井上忠彦<[E-MAIL ADDRESS DELETED]>:
>>> 井上と申します。
>>>
>>> 質問させてください。
>>>
>>> DBFluteにて自動発行されるSQLのテーブル名・カラム名全てに
>>> ダブルクォートを付けることは可能でしょうか?
>>>
>>> 環境は次のとおりです。
>>>
>>> 開発言語:C#
>>> 開発環境:VisualStudio2008
>>> DB:Oracle 11.1.0.6
>>> S2Container.net:1.3.17
>>> DBFlute.net:0.8.9.9
>>>
>>>
>>> そもそも問題としましては、次の通りとなります。
>>>
>>> 既に稼働済みのシステムのデータプロバイダーを
>>> ODP.NETに変更するため調査・確認を行っております。
>>>
>>> テーブル名・カラム名に日本語を使用しており、
>>> 環境によりエラーが発生します。
>>>
>>> 実行環境
>>> OS:7、Vista
>>> オラクルクライアント:11.1.0.6
>>> →エラーとならない。
>>> OS:XP
>>> オラクルクライアント:11.1.0.6
>>> →エラーとなる。
>>>
>>> エラーの内容は一定でないため、添付させていただきませんが、
>>> まずは日本語テーブル名・カラム名の対応と思い、
>>> 上記のとおり、質問をさせていただきました。
>>>
>>>
>>> 以上、よろしくお願いいたします。
>>>
>>> 井上
>>>
>>> _______________________________________________
>>> 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
> 
> 



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