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

井上忠彦 [E-MAIL ADDRESS DELETED]
2011年 1月 14日 (金) 23:06:16 JST


久保様

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

現状DBFluteの仕様の旨、了解いたしました。

> で、ここからはできればちょっとの修正や拡張で動くようにできれば
> いいなというところで、トライアンドエラーで探っていくことになります。

もう少しやってみまして、
またご相談させていただきたいと思いますので、
よろしくお願いします。

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

(11/01/14 (金) 21:02), kubo wrote:
> 久保です。
> 
> ご確認ありがとうございます。
> 
>> ただその後、selectで下記エラーとなります。
>> S2Dao側RowCreatorImpl.CreateColumnMetaData()内のFindColumnName()にてカラ
>> ム名が取得できないところが起因となっているようです。
> 
> ということですんなり動かなかったというところですね。
> 
> それでは一旦ここで状況をまとめておきます。
> 一応これが現状でのDBFlute.NETの仕様ということになります。
> Java版との機能差の一つでもあり、正式な対応は現状のJava版を
> 移植した後の DBFlute.NET-0.9.x にて(かもしれない)というところです。
> 
> で、ここからはできればちょっとの修正や拡張で動くようにできれば
> いいなというところで、トライアンドエラーで探っていくことになります。
> 動くようにできたとしても、DBFlute.NETとして消極的サポートという
> 扱いであり、また、アプリ側でも拡張が必要かもしれませんので、
> 井上さんも S2Dao.NET のソースをある程度追いかけられるような
> 環境にしておいた方が良いかと思います。
> (S2Dao.NETのソースはSVNからチェックアウトできます)
> 
> 例外の内容を分析してみると、
> RowCreatorImpl.CreateColumnMetaData()で呼び出している
> FindColumnName(columnNames, pt.ColumnName) の
> "string.Compare(realColumnName, columnName, true) == 0"
> で、恐らく一致していないのでしょうね。
> それぞれの値がどうなっていて、なぜ一致しないのか、を
> 確認してみて下さい。
> (columnNames と pt.ColumnName のクォート状況など)
> それにより、何をどう直せばさらに先に進めるのか考察できるかと。
> また、ここのポイントを直せば動くのかどうかの確認のため、
> 試しに一致するように書き換えてもう一度実行してみて下さい。
> このクラスは、自動生成される AllCommon 配下のクラス、
> InternalRowCreator にて拡張されているので、オーバーライドする
> だけで簡単に試せます。
> (InternalRowCreator は S2DaoMetaDataFactoryImpl.cs にあります)
> 
> という感じで、何回かトライアンドエラーして完全に動くように
> するために直すべきポイントを洗い出してみて下さい。
> (ソースを分析する上で難しい点があればフォローしますので)
> 現実的な修正(量や内容)であれば DBFlute.NET に反映します。
> そうでない場合、アプリ側で S2Dao.NET の拡張修正が必要に
> なる可能性もあります。
> 
> 早速フォローですが、RowCreator は基点テーブルの一つのレコードを
> 一つのEntity にマッピングするクラスです。(Row は一行分の Entity のこと)
> DBFlute.NET では、S2Dao.NET の RowCreatorImpl を拡張して、
> DBFluteの DBMeta を使ったマッピングを実現しています。
> それが S2DaoMetaDataFactoryImpl.cs の InternalRowCreator です。
> DBFluteがリフレクションを使わずにEntityにデータをマッピング
> しているというのは、まさにここで実現されています。
> http://dbflute.sandbox.seasar.org/ja/introduction/performance.html#noreflection
> 
> また、RowCreatorImpl.CreateColumnMetaData() の "IList columnNames" は、
> 出所は (AllCommon) InternalAbstractBeanMetaDataResultSetHandler の
> CreateColumnNames() ですね。ADO.NETのインターフェースから、
> SQL の select 句に定義されたカラム名を取得しています。
> 
> 2011/1/14 井上忠彦<[E-MAIL ADDRESS DELETED]>:
>> 久保様
>>
>>> 古いバージョンのログのような気がしますね。
>> 失礼いたしました。私のログ保管間違いかもしれません。
>>
>>> 反映しました。SNAPSHOTが上書きされています。
>> ありがとうございます。
>>
>> テーブル名・カラム名ともに、$$ALL$$指定にて確認させていただきました。
>> 以下、日本語・アルファベットともに違いはありません。
>>
>> TableSqlName,getTableSqlName(),EntityのTable属性すべてクォートされています。
>>
>> ただその後、selectで下記エラーとなります。
>> S2Dao側RowCreatorImpl.CreateColumnMetaData()内のFindColumnName()にてカラ
>> ム名が取得できないところが起因となっているようです。
>>
>> たびたび申し訳ございませんが、ご確認をお願いできますでしょうか?
>>
>> --- ここから
>> The SQL failed to execute!
>> [Advice]
>> Please confirm the Exception message.
>> [Exception]
>> Core.DBFlute.AllCommon.JavaLike.IllegalStateException
>> The propertyCache should not be empty: bean=Tblcontrol
>> [Behavior]
>> TblcontrolBhv.SelectEntity()
>> [ConditionBean]
>> Core.DBFlute.CBean.TblcontrolCB
>> [Statement]
>> Oracle.DataAccess.Client.OracleCommand
>> [Display SQL]
>> select  dfloc."COLKEY" as c0, dfloc."COLNAME" as c1
>>   from "TBLCONTROL" dfloc
>>   where dfloc.COLKEY = 5
>>
>>   Core.DBFlute.AllCommon.JavaLike.IllegalStateException: The
>> propertyCache should not be empty: bean=Tblcontrol
>>    場所
>> Core.DBFlute.AllCommon.S2Dao.InternalRowCreator.CreateRow(IDataReader
>> reader, IColumnMetaData[] columns, Type beanType)
>>    場所
>> Core.DBFlute.AllCommon.S2Dao.Internal.RsHandler.InternalAbstractBeanMetaDataResultSetHandler.CreateRow(IDataReader
>> reader, IColumnMetaData[] columns)
>>    場所
>> Core.DBFlute.AllCommon.S2Dao.Internal.RsHandler.InternalBeanListMetaDataResultSetHandler.Handle(IDataReader
>> dataReader, IList list)
>>    場所
>> Core.DBFlute.AllCommon.S2Dao.Internal.RsHandler.InternalBeanGenericListMetaDataResultSetHandler.Handle(IDataReader
>> dataReader)
>>    場所
>> Core.DBFlute.AllCommon.S2Dao.Internal.SqlHandler.InternalBasicSelectHandler.Execute(IDbCommand
>> cmd, Object[] args)
>> --- ここまで
>>
>>
>> 以上、よろしくお願いいたします。
>>
>> (11/01/13 (木) 23:48), kubo wrote:
>>> 久保です。
>>>
>>>> 以下のとおりです。
>>>>
>>>> --- 8.9.23-SNAPSHOT ここから
>>>> 2011-01-12 22:40:15,235 [main] INFO
>>>> (TorqueJDBCTransformTask#generateXML():267) - $ MY.TBLCONTROL(TABLE)
>>>> 2011-01-12 22:40:15,391 [main] INFO
>>>> (TorqueJDBCTransformTask#generateXML():267) - $ MY.コントロール(TABLE)
>>>> 2011-01-12 22:40:15,437 [main] WARN
>>>> (TorqueJDBCTransformTask#generateXML():365) - Failed to get unique
>>>> column information! But continue...
>>>> java.sql.SQLException: コールに無効な引数があります。
>>>> --- 8.9.23-SNAPSHOT ここまで
>>>
>>> 古いバージョンのログのような気がしますね。
>>> generateXML():365 では、そのようなログは出してないし、
>>> 「Failed to get unique column information! But continue...」
>>> という文言自体、最新のソースではもうどこにもありません。
>>>
>>>>> $$ALL$$ って指定すると「全てのテーブルに付与する」って
>>>>> いう機能をこれから実装しようかなと思ってました。
>>>>
>>>> ありがとうございます。非常に助かります。
>>>> 期待して待たせていただきます。
>>>
>>> 反映しました。SNAPSHOTが上書きされています。
>>> dfpropのドキュメントも更新しています。
>>>
>>>
>>> #
>>> # JDBCドライバで、DatabaseMetaData.needsQuote(name)
>>> # みたいなメソッドがあったらいいのにって思いますよね...
>>> # (そしたら、必要な名前にだけ自動でクォートってなことが)
>>> #
>>>
>>> 2011/1/13 井上忠彦<[E-MAIL ADDRESS DELETED]>:
>>>> 久保様
>>>>
>>>> ご回答ありがとうございます。
>>>>
>>>>> このWARNのログって、どんなログですか?
>>>> 以下のとおりです。
>>>>
>>>> --- 8.9.23-SNAPSHOT ここから
>>>> 2011-01-12 22:40:15,235 [main] INFO
>>>> (TorqueJDBCTransformTask#generateXML():267) - $ MY.TBLCONTROL(TABLE)
>>>> 2011-01-12 22:40:15,391 [main] INFO
>>>> (TorqueJDBCTransformTask#generateXML():267) - $ MY.コントロール(TABLE)
>>>> 2011-01-12 22:40:15,437 [main] WARN
>>>> (TorqueJDBCTransformTask#generateXML():365) - Failed to get unique
>>>> column information! But continue...
>>>> java.sql.SQLException: コールに無効な引数があります。
>>>> --- 8.9.23-SNAPSHOT ここまで
>>>>
>>>>> 確認ですが、dfprop のエンコーディングは合っていますか?
>>>> 大変失礼いたしました。SJISでした。
>>>> UTF-8に修正したところ、WARNもERRORも発生しなくなりました。
>>>>
>>>> dfpropのエンコードを修正し、8.9.23-SNAPSHOTでの確認結果です。
>>>>
>>>> テーブル名がアルファベットの場合、
>>>> TableSqlname →○
>>>> getTableSqlName() →○
>>>> EntityのTable属性 →○
>>>>
>>>> テーブル名が日本語の場合、
>>>> TableSqlname →○
>>>> getTableSqlName() →○
>>>> EntityのTable属性 →○
>>>>
>>>> と言うわけで、こちらはdfpropのエンコードが原因だったようです。
>>>> ありがとうございます。引き続きその他確認をしてみます。
>>>>
>>>>> $$ALL$$ って指定すると「全てのテーブルに付与する」って
>>>>> いう機能をこれから実装しようかなと思ってました。
>>>>
>>>> ありがとうございます。非常に助かります。
>>>> 期待して待たせていただきます。
>>>>
>>>> 以上、よろしくお願いいたします。
>>>>
>>>> 井上
>>>>
>>>> (11/01/13 (木) 18:14), kubo wrote:
>>>>> 久保です。
>>>>>
>>>>> 井上さん、ご確認ありがとうございます。
>>>>>
>>>>>>> dbflute-0.8.9.23-SNAPSHOT.zip
>>>>>> こちらで実行したところ、エラーは回避されました。
>>>>>> WARNのログ出力となり、schema.xmlが出力されることが確認できました。
>>>>>
>>>>> このWARNのログって、どんなログですか?
>>>>> 今回の修正では、例外時に「クォートして再実行」としている
>>>>> だけなので、今回の現象に関するWARNログは出力していない
>>>>> はずなのですが。
>>>>>
>>>>>>> (ユニーク制約とインデックス情報ちゃんと取れるかな...!?)
>>>>>> 申し訳ございませんが、現状ここまでの確認はできておりません。
>>>>>
>>>>> まあ、後で Doc タスクの SchemaHTML を見て頂ければと。
>>>>> (ユニーク制約やインデックスを使ったテーブルで試したときに)
>>>>>
>>>>>> テーブル名が日本語の場合、
>>>>>> TableSqlName →×
>>>>>> getTableSqlName() →×
>>>>>
>>>>> 日本語だと x っていうのが変ですね。
>>>>> 確認ですが、dfprop のエンコーディングは合っていますか?
>>>>> http://dbflute.sandbox.seasar.org/ja/manual/reference/dfprop/about.html#propspec
>>>>> (dfprop は UTF-8 です。例えば、Shift_JIS だとプログラム内部で
>>>>> 文字化けしてしまった文字列を判定に使ってしまうかも...!?)
>>>>>
>>>>>>> (あと、DaoインターフェースのBean属性の値)
>>>>>> こちらは、BsDao以下にあるクラスでよろしいのでしょうか?
>>>>>> 見たところここのクラスには文字列の記載がありませんでした。
>>>>>
>>>>> ごめんなさい。完全に間違えてました。
>>>>> Daoインターフェースじゃなくて Entity です。
>>>>> Seasar.Dao.Attrs.Table 属性が定義されているはずです。
>>>>>
>>>>>> 上記の方法でうまくいったとしましても、
>>>>>> テーブルが300近くあり、まだ機能変更・追加も頻繁に行われている状況で、
>>>>>> 現実的に難しいと考えています。
>>>>>> お手数ですが、他に何かよいアイデアあればご教授いただけませんでしょうか?
>>>>>
>>>>> まあ、そんなところじゃないかと思っていたので、
>>>>> $$ALL$$ って指定すると「全てのテーブルに付与する」って
>>>>> いう機能をこれから実装しようかなと思ってました。
>>>>> これは、ちょっとお待ち下さい(今帰って来たばかりで...)。
>>>>>
>>>>> 2011/1/13 井上忠彦<[E-MAIL ADDRESS DELETED]>:
>>>>>> 久保様
>>>>>>
>>>>>> 早急なご回答ありがとうございます。
>>>>>>
>>>>>>> dbflute-0.8.9.23-SNAPSHOT.zip
>>>>>> こちらで実行したところ、エラーは回避されました。
>>>>>> WARNのログ出力となり、schema.xmlが出力されることが確認できました。
>>>>>> generate.batもエラーなく動作しました。
>>>>>>
>>>>>>> (ユニーク制約とインデックス情報ちゃんと取れるかな...!?)
>>>>>> 申し訳ございませんが、現状ここまでの確認はできておりません。
>>>>>>
>>>>>>
>>>>>> クォートの件、0.8.9.23-SNAPSHOTにてあらためて試してみました。
>>>>>> ご教授いただいたとおり、まずはソース上での確認です。
>>>>>>
>>>>>> テーブル名がアルファベットの場合、
>>>>>> TableSqlName →○:「\"〜\"」となっている。
>>>>>> getTableSqlName() →○:「\"〜\"」となっている。
>>>>>>
>>>>>> テーブル名が日本語の場合、
>>>>>> TableSqlName →×
>>>>>> getTableSqlName() →×
>>>>>>
>>>>>>> (あと、DaoインターフェースのBean属性の値)
>>>>>> こちらは、BsDao以下にあるクラスでよろしいのでしょうか?
>>>>>> 見たところここのクラスには文字列の記載がありませんでした。
>>>>>>
>>>>>> littleAdjustmentMap.dfpropの設定は次のとおりとしています。
>>>>>>       ; quoteTableNameList = list:{コントロール; TblControl}
>>>>>>       ; quoteColumnNameList = list:{キー; 名称; ColKey; ColName}
>>>>>>
>>>>>>
>>>>>> あらためてご相談させてください。
>>>>>> 上記の方法でうまくいったとしましても、
>>>>>> テーブルが300近くあり、まだ機能変更・追加も頻繁に行われている状況で、
>>>>>> 現実的に難しいと考えています。
>>>>>> お手数ですが、他に何かよいアイデアあればご教授いただけませんでしょうか?
>>>>>>
>>>>>>
>>>>>> 以上、よろしくお願いいたします。
>>>>>>
>>>>>> (11/01/13 (木) 9:16), kubo wrote:
>>>>>>> 久保(jflute)です。
>>>>>>>
>>>>>>> なんか昔の記憶で、
>>>>>>> Oracle の JDBCドライバが、とあるメソッドだけ
>>>>>>> 日本語を許さないというのがあるのを思い出しました。
>>>>>>> (PKやFKは大丈夫なのに、なぜかUQやIndexだけ
>>>>>>> 日本語テーブルを受け付けない)
>>>>>>>
>>>>>>> 取り急ぎですが(本当に取り急ぎですが)、
>>>>>>> dbflute-0.8.9.23-SNAPSHOT.zip
>>>>>>> を使ってみて下さい。
>>>>>>> Oracleのときだけ例外が発生したらリトライで
>>>>>>> クォートして再実行するようにしています。
>>>>>>> (ユニーク制約とインデックス情報ちゃんと取れるかな...!?)
>>>>>>>
>>>>>>> http://dbflute.net.sandbox.seasar.org/ja/environment/newest.html#snapshot
>>>>>>>
>>>>>>>> 0.8.9.15までは「WARN」ですが、0.8.9.16以降は「ERROR」となります。
>>>>>>>
>>>>>>> こういった現象・問題が明確に上がってくるようにするために、
>>>>>>> 例外をつぶすのはやめました。まさに今回の件が合致しましたね。
>>>>>>>
>>>>>>>> またquoteTableNameListについてですが、
>>>>>>>> ログに出力されるSQLが変わるかどうか?という判断で問題ないでしょうか?
>>>>>>>> 0.8.9.15にて試している現状では、
>>>>>>>> ログ中のSQLをみるところ、テーブル名にダブルクォートはついておりません。
>>>>>>>
>>>>>>> 少なくとも CB の判断はそれでOKです。
>>>>>>> S2Daoに任せているところ(insert, update など)も
>>>>>>> 基本的にそれでOKだと思います(が、多分というところで)。
>>>>>>>
>>>>>>> ただ、そのまえに、DBMetaの TableSqlName や
>>>>>>> ConditionQuery の getTableSqlName() の値が、
>>>>>>> クォートされているかソース上で確認してみて下さい。
>>>>>>> (あと、DaoインターフェースのBean属性の値)
>>>>>>> これらがクォートされていなければ、そもそも設定の段階で
>>>>>>> うまくいってないということになります。
>>>>>>>
>>>>>>> #
>>>>>>> # やはり、英語圏で作られたツールで日本語使うと、
>>>>>>> # どの世界でもトラブル発生しやすいものですね...
>>>>>>> #
>>>>>>>
>>>>>>> 2011/1/12 井上忠彦<[E-MAIL ADDRESS DELETED]>:
>>>>>>>> 久保様
>>>>>>>>
>>>>>>>> ご回答ありがとうございます。
>>>>>>>>
>>>>>>>> ご教授いただきました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 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 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 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 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 メーリングリストの案内