interact-ibmi
Menus for interacting with IBMi AS400 using the node-odbc package.
This is a work-in-progress with the goals of being able to view file records using ODBC, insert new records, and delete selected records, as well as perform some system commands.
To-do
- [:heavy_check_mark:] Make ODBC connections to IBMi
- [:heavy_check_mark:] Send SQL queries to fetch data from tables and store it in objects
- [:heavy_check_mark:] Find QSYS2 tables for retrieving system information
- [:heavy_check_mark:] Send QCMDEXC commands to system using SQL queries
- [:heavy_check_mark:] Handle errors on QCMDEXC commands
- [❌] Handle errors on regular SQL queries
- [❌] Copy records based on script
- [:heavy_check_mark:] Create a new system user by copying another user's profile
- [:heavy_check_mark:] Place new system user on authorization lists and create directory entry
- [:heavy_check_mark:] Show system / user diagnostics upon login
Some basic user diagnostics already done!
Who is this for?
This is mostly a personal pet project to learn some new technologies, and may involve a lot of refactoring or swapping of dependencies as I experiment. When finished, I hope this tool could be useful for quickly performing routine diagnostics, simple query tasks, and perhaps aid in troubleshooting.
However, there's a lot of other tools available from IBM, the open source community, and third-party vendors that can already accomplish each of those tasks. Two tools I would recommend for general purposes are IBM's own Access Client Solutions (ACS) which can be run on OpenJava on most platforms, and Liam Barry's Code for IBM i which is an excellent VSCode extension for working with IBMi that includes an API for creating your own extensions.
Prerequisites
You must have IBM ODBC drivers installed for your platform. These are provided by IBM and are often included with installations of ACS. You must reboot after the installation. For more information, see the instructions on the node-odbc package, which this prereq is inherited from.
Usage
Open your commandline and use:
npx @teqed/interact-ibmi@latest
That's it, npx will take care of everything from there. You should be greeted by the login screen after it finishes downloading. Run the same command again as needed.