Coldfusion
ColdfusionのJava
ColdfusionにJavaがバンドルさられているのですが、、ライセンスどうなってるんだ?と、調べてみたら、、なんと!
Oracle Javaテクノロジーの使用権があるらしく、
その期限が2022年12月で期限が切れらしい
まじか。
Coldfusionもうすぐ使えなくなっちゃうの?!
無償版のOpenJDKに変えるか、無償化されたバージョンのJavaに入れ替えるしかないのかな。。
2022年08月05日
Coldfusion9の延命 windows2016、2019など
Coldfusion9は最新のIISには対応していません。※Coldfusion10については、
c:/coldfusion10/cfusion/bin/connectors/IIS_Connector.bat
のバッチで手動でいけるらしい
なので、最新のWindowsOSで使う場合は、Coldfusion自体をバージョンアップするのが、通常の方法です。
が、諸事情で、古いColdfusionをそのまま使いたい場合があると思います。
何とか延命する方法ですが、、、一つの解決策として、IISでの運用をあきらめる!
Coldfusion9が最新のOSで使えないのはインストーラーが対応していないから。
(特にconnector installerが使えない。IISとCFがつながらない)
ですが、ColdfusionをTomcatにデプロイすることで、あたしいOSでも使えるようになります!
が、、、Cookieの扱いとか、若干違って調整が必要になります。
まあ、最新のOSでCF9をつかうなんていうのは最終手段です。
2020年09月22日
ColdFusion cfgridによる更新でエラー
Coldfusion 2018にてcfgridのhtmlもしくは、xmlを使ったときの更新がエラーになる現象を確認。完全にバグだと思われます。
coldfusion2016でも同じようなバグあり、パッチで解消した、、、という情報もありましたが少なくても2018では更新できません。(最新のパッチを当てても)
原因はハッキリしており、
何故か、POSTに同じパラメータが2つ入るためです。
cfgridのnameをhogehogeとした場合、
更新ボタンを押したとき、次画面に送られる変数は、
hogehoge=null
hogehoge=cfgridの中身
の2つが送られます。
でエラー。
対処方法は一つ。
onsubmitのjavascriptで1つ目の空の変数(hogehoge)を削除して、
同名の変数を1つだけ(hogehoge=cfgridの中身)を次画面へ送るようにします。
2020年01月11日
ODBC経由 Excelの編集でエラー
ODBCでちょっと特殊なExcelの編集をしようとしたところ、以下のエラーが発生「このフィールドはリンクされたExcelワークシートにあるため、編集できません。リンクされたExcelワークシートのデータを編集する機能は、Access の今回のリリースでは無効になっています。」
まず、最新のWindowsOSにはExcelのODBCドライバが付属していないんですよね。。。
そのため、個別にインストールする必要があるのですが、そのドライバでは上記機能が使えないようになっています。
どうも、やろうとしていた機能が使えたのは、
windows server 2008の世代に付属していたドライバ(32bit版で確認)のようです。
それより新しいものだと、たぶん利用不可。
上記エラーに遭遇したら諦めてください、、、が回答になります。
補足
上記エラーは、ODBCで定義されたExcelブックAを経由してExcelブックBを編集する場合に発生します。
ちょっと何言ってるかわからないかもですが、そういうことができたのです。
2019年11月13日
cfspreadsheet の挙動がおかしい Sheet指定無効?
Coldfusion(ver9)でcfspreadsheetタグを利用してExcelファイルの編集をと考えているのですが、マニュアル通りの挙動にならない。複数のシートのあるブック(ファイル)で、複数シートの編集をしたいのですが、マニュアルによると
◾複数のシートを持つ Excel ファイルを読み取るには、read オプションで複数の cfspreadsheet タグを使用し、シートごとに異なる name および sheet または sheetname 属性を指定します。
◾単一ファイルに複数のシートを書き込むには、write アクションを使用してファイルを作成し、最初のシートを保存します。update アクションを使用して、各追加シートを追加します。
http://help.adobe.com/ja_JP/ColdFusion/9.0/CFMLRef/WSc3ff6d0ea77859461172e0811cbec17cba-7f87.html
とあるのですが、cfspreadsheetのreadオプションではシートごとに読み込むことはできず、すべてのシートが読み込まれます。
また、writeオプションでも、シート指定しての書き込みができないため、「最初のシートを保存」ということもできません。
そのため、updateオプションを使用したとき、シートが既に存在しているとエラーとなってしまいます。(updateは更新というより、シートの追加)
いろいろと検証した限りでは、cfspreadsheetのsheetオプション、sheetnameオプションは、アクティブシートを指定するだけの代物のようです。
というわけで、実際に複数シートを扱う際には、
cfspreadsheetで全シートを読込、
cfscriptのSpreadsheetSetActiveSheet関数で、シートを切り替えながら編集するのが正解みたい。
で、書き出す時も、cfspreadsheetのwriteオプションで一度に書き込み。
まあ、全部cfscriptのSpreadsheetRead関数とかで操作でいいんですが。
なんか釈然としないが、とりあえず解決!
2013年05月26日
Coldfusion9.0.2 うぜー!!
Coldfusion9.0.2ですが、9.0.0から変わりすぎじゃないですか??マイナーバージョンアップとは思えないほどの互換性orz
勘弁してくれ。。。。
まず、一番の致命的なのは、9.0.0で使えていた
COMオブジェクト(cfobjectのtype=com)が使用できない。
続いて、「HTTPレスポンスヘッダに改行コードが含まれている」と自動的に削除される。。。ohhh
これにより、クッキーに改行コード付きの値を格納できなくて困りました。
改行コードについては、仕様だし、セキュリティ上必要だから許せるが、comについては完全なバグだろ?
2013年04月28日