へなちょこSEの考察

0x22歳のへなちょこSEが、日々思うことを考察します。自社内、金融系を経て現在法人系PKG開発に従事。

Excel VBAでDBアクセスする際のsql文字長

DBに勝手にアクセスしていろいろ情報をとってくれるマクロを組んでます。
もともとObject BrowserからSQL発行してコピーしてみたいのを人力でやっていたので、それを簡略化しようと思ってマクロにしたのですが、一部のSQLで問題が。
実行すると「右括弧がありません」といわれるんです。


よくよくみてみると、どーもSQLが途中で(恐らく255文字で)ちょん切られている様子。
ぐぐってみても明確な答えは見つかりませんでしたが、Excel VBA周りは結構255文字制限に引っかかるものが多いみたいですね。
変数上はちゃんととれているように見えるので、恐らくDBに対してSQL発行するときなのではないかと思いますが。


んー、どうやって解決しようかなぁ。
一番いいのは、PL/SQLでもDB側に用意しておいて、それを呼び出すようにすることかな?
個人的には、そんな馬鹿みたいに長いSQLを書かなきゃならない事自体が苦痛なのですが・・・・。


SQLで結合しまくってとりあえずたくさん情報取り出してくるのとか大嫌いです。
もっとシンプルに取ってきてAP側でやればいいのにと思います。
シビアな性能を求められる場面になってから考えればいいのにと。
いかにシンプルに書くかこそがSEの美学!!!


・・・・話がそれました。
とりあえず、なくても困らないツールなので、おいおい考えることにします。