はまりましたよ、えぇ。
現状、WindowsPCからDB2Connect経由のODBC接続でAS400からSQLServerに
データを取り込んでいる状態。
このSQLServerを、LinuxサーバのPostgreSQLに置き換えようという魂胆。
で、iSeriesAccess for LinuxがIBMからダウンロードしてunixODBCと組み合わせてできるということだったんだけど。
まずはunixODBCとiSeriesAccess for Linuxをrpmからインストール。
で、コンソールレスのサーバマシンなんでODBCConfigが使えずだったんで、
Web漁って見つけたodbc.iniを参考に手書き。
なんだけど、どうもうまくいかない。
エラーメッセージからはAS400側で接続拒否られてる感じ。
管理者に相談するも解決せずで時間切れ。
んで、ちょっと時間もらっていろいろ調べて本日再チャレンジです。
デスクトップのLinuxにiSeriesAccess入れて、ODBCConfigで作ったodbc.iniを持っていくという作戦。
現場の環境にあわせて微修正、isqlで確認すると。
なんかあっさり繋がるんですけど。
こないだの苦労はなんだったんだろう。
ってゆーか、下調べしなさすぎか。
odbc.iniはこんな感じ。
[ODBC Data Sources]
AS400TEST = AS400TEST
[AS400TEST]
Description = iSeries Access ODBC Driver 64-bit
Driver = iSeries Access ODBC Driver 64-bit
System = XXX.XXX.XXX.XXX
UserID = USERID
Password = PASSWD
Naming = 0
DefaultLibraries = QGPL AS400TEST
Database = AS400TEST
ConnectionType = 0
CommitMode = 2
ExtendedDynamic = 1
DefaultPkgLibrary = QGPL
DefaultPackage = A/DEFAULT(IBM),2,0,1,0,512
AllowDataCompression = 1
MaxFieldLength = 32
BlockFetch = 1
BlockSizeKB = 128
ExtendedColInfo = 0
LibraryView = 0
AllowUnsupportedChar = 0
ForceTranslation = 0
Trace = 0
[ODBC Data Sources]を追加したくらいかなぁ、前回と違ってるのは。
ってゆーか、それがキモなのかも。
なにはともあれ、これでようやくシステムテストに入れます。
一安心。
イントラ内Linuxサーバ上で動作するバッチプロセスを作ってて。
異常発生時の通知をメールで知らせる必要があったりして。
普通はsendmailなりprocmailなり設定するんでしょうが。
ぶっちゃけ面倒くさいんです。
ってことでコマンドラインで使えるSMTP対応のメール送信クライアントを探してみたところ。
email ってなヤツを発見。
今回の目的にベストマッチ。
設定も簡単であっさり動かせられて、いい感じ。
多謝。
どこかの誰かが同じような悩みをかかえてて。
どこかの誰かが解決してくれてる。
なんてありがたいんでしょう。
異常発生時の通知をメールで知らせる必要があったりして。
普通はsendmailなりprocmailなり設定するんでしょうが。
ぶっちゃけ面倒くさいんです。
ってことでコマンドラインで使えるSMTP対応のメール送信クライアントを探してみたところ。
email ってなヤツを発見。
今回の目的にベストマッチ。
設定も簡単であっさり動かせられて、いい感じ。
多謝。
どこかの誰かが同じような悩みをかかえてて。
どこかの誰かが解決してくれてる。
なんてありがたいんでしょう。