現在、jdbc コードを使用して DB2 をローカルの MySQL-db にミラーリングしています。ミラーにクエリを実行することなく、DB2 を Node.js アプリから直接接続したいと考えています。Windows で実行していますが、Linux に変更できません。Node.jsを使用したDB2での作業はまだ非常に不十分であるか、node-odbcが使用されているようです(ノードのunixODBCバインディング)。
Node に DB2 バインディングを提供するこのプロジェクトhttps://github.com/herzi/db2.jsを見つけましたが、インストールが失敗するためインストールできません。このパッケージには、Node-gyp (これは正常にインストールされています) と .NET Framework SDK が必要です。vcbuild.exe を PATH に設定しました。その後、msbuild.exe はヘッダー ファイル (sqlcli1.h、sqlsystm.h、sqlca.h) が見つからないというエラーを表示しましたが、これは PRO*C の一部であることがわかりました。
上記のヘッダー ファイルをhttp://files.edin.dk/php/win32/dev/php_build/include/db2/から取得し、Node の src/ ディレクトリに配置しました。コンパイラが複数のエラーを表示するようになりました。
上記のモジュールを機能させる以外に、Node.js アプリから DB2 を接続するために Windows で作業する場合、他のオプションはありますか?
ここで私を助けることができる人はいますか?上記のモジュールをインストールする手順は何ですか?
ありがとう!
表示されるエラー:
C:\Program Files\Microsoft SDKs\Windows\v7.0A\include\sqlext.h(30): error C2146 : syntax error : missing ';' before identifier 'SQLSTATE' [C:\IS\node\node_modules\db2\build\db2.vcxproj]
C:\Program Files\Microsoft SDKs\Windows\v7.0A\include\sqlext.h(30): error C2146: syntax error : missing ';' before identifier 'SQLSTATE' [C:\IS\node\node_modules\db2\build\db2.vcxproj]
C:\Program Files\Microsoft SDKs\Windows\v7.0A\include\sqlext.h(30): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [C:\IS\node\node_modules\db2\build\db2.vcxproj]
C:\Program Files\Microsoft SDKs\Windows\v7.0A\include\sqlext.h(30): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [C:\IS\node\node_modules\db2\build\db2.vcxproj]
C:\Program Files\Microsoft SDKs\Windows\v7.0A\include\sqlext.h(30): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [C:\IS\node\node_modules\db2\build\db2.vcxproj]
C:\Program Files\Microsoft SDKs\Windows\v7.0A\include\sqlext.h(30): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [C:\IS\node\node_modules\db2\build\db2.vcxproj]
C:\Documents and Settings\tpaleniu\.node-gyp\0.8.12\src\sqlcli1.h(1501): error C2371: 'SQLTCHAR' : redefinition; different basic types [C:\IS\node\node_modules\db2\build\db2.vcxproj]
C:\Program Files\Microsoft SDKs\Windows\v7.0A\include\sqlext.h(30) : see declaration of 'SQLTCHAR'
..\src\connection.cc(77): error C3861: 'snprintf': identifier not found
[C:\IS\node\node_modules\db2\build\db2.vcxproj]..\src\connection.cc(80): error C3861: 'snprintf': identifier not found [C:\IS\node\node_modules\db2\build\db2.vcxproj]
..\src\connection.cc(111): error C3861: 'bzero': identifier not found [C:\IS\node\node_modules\db2\build\db2.vcxproj]
..\src\connection.cc(208): error C3861: 'bzero': identifier not found [C:\IS\node\node_modules\db2\build\db2.vcxproj]
..\src\connection.cc(547): error C2057: expected constant expression [C:\IS\node\node_modules\db2\build\db2.vcxproj]
..\src\connection.cc(547): error C2466: cannot allocate an array of constant size 0 [C:\IS\node\node_modules\db2\build\db2.vcxproj]
..\src\connection.cc(547): error C2133: 'argv' : unknown size [C:\IS\node\node_modules\db2\build\db2.vcxproj]