Client Util App v1.3.10
Complete guide to using the Node.js Integrated Utility Tool
Multi-language support with English and Korean UI | UTF-8 CSV encoding required
Table of Contents
📋 Getting Started
🗄️ Database Features
🌐 Network Features
🔧 Advanced
Introduction
Client Util App v1.3.10 is a comprehensive utility tool for managing database connections, server monitoring, and SQL execution in a unified application.
Latest Updates in v1.3.7
CSV Query Result Output Improvements
Enhanced newline handling for procedure definitions and multi-line text in CSV format
- Replaces all newlines with spaces for single-line storage
- Quotes values only when they contain commas/quotes in CSV files
- Procedure definitions now save cleanly in a single line
- Easy to read in Excel or text editors
- Better CSV standard compliance
CSV-based Batch Query Execution (v1.3.6+)
Execute multiple SQL queries from a CSV file in batch with built-in security validation
- Execute queries defined in
SQL2CSV_*.csvfiles fromrequest/directory - Dynamic file paths with date/time variables: ${DATE:yyyyMMddHHmmss}
- Result path variable support:
${DB_NAME}(selected DB key) - Automatic directory creation for output files
- Query validation: Only SELECT queries and safe system procedures allowed
- Security protection: Blocks INSERT, UPDATE, DELETE, DROP, TRUNCATE, ALTER, CREATE
Key Features of v1.3.4
Multi-language Support
Full English and Korean UI support - choose your language with --lang parameter or use dedicated launcher scripts (run.bat / 실행하기.bat)
CSV Encoding Support
UTF-8 encoding required for all CSV files - ensures proper display of Korean, Chinese, Japanese and other characters
Key Features of v1.3.0
CSV Result File Generation
Automatically save SQL execution results to structured CSV files
Preprocessor Directive
Specify database connection with #DATABASE or #DB in SQL files
JSON Parameter Support
Support JSON format parameter files alongside CSV
MariaDB Support
Added MariaDB database support with MySQL-compatible driver
Installation
Prerequisites
Operating System
Windows 10+ (64-bit)
Memory
Minimum 100MB available memory
Disk Space
Approximately 150MB free space
Installation Steps
Download Binary Release
Download the latest binary file from GitHub releases page:
ClientUtilApp-v1.3.10-win-x64.zip
Download link: GitHub Releases
Extract Files
Extract the downloaded ZIP file to your desired location:
C:\Tools\ClientUtilApp\
After extraction, the following files are included:
my-node-client-util-app.exe- Executable filerun.bat- Batch execution fileconfig/- Configuration directoryrequest/- CSV sample filesuser_manual/- User manuals
Run the Application
Double-click the batch file to run:
run.bat
Or execute directly from command prompt:
my-node-client-util-app.exe
Note: You can use the executable (.exe) directly without Node.js installation.
Quick Start
First Time Setup
1. Prepare CSV Files
Create your CSV files in the request/ directory:
- DB Check: Files starting with
DB_(e.g.,DB_sample.csv) - Telnet Check: Files starting with
server_(e.g.,server_sample.csv)
2. CSV File Format
For database connection checks, include these columns:
db_name,username,password,server_ip,port,db_type,db_title,select_sql,crud_test_table,crud_test_columns,crud_test_values
3. Run Your First Check
Execute the application with your preferred language and select option 1 for database connection check:
# English UI:
$ run.bat
# Korean UI:
$ 실행하기.bat
# Or specify language directly:
$ node app.js --lang=en
$ node app.js --lang=kr
Select option (1-6): 1
Non-interactive CLI (v1.3.10)
You can run functions directly without the menu using --mode and parameters. Works in Node and packaged EXE.
--mode=dbDatabase connection and permission check--mode=telnetServer telnet connection check--mode=sqlSingle SQL execution--mode=csvCSV-based batch query execution--mode=configPrint configuration info
# DB check
node app.js --lang=kr --mode=db --csv=request/DB_sample.csv --timeout=5 --dbType=auto
# Telnet check
node app.js --lang=kr --mode=telnet --csv=request/server_sample.csv --timeout=3
# Single SQL (file name or path; .sql optional)
node app.js --lang=kr --mode=sql --sql=SQL_001
node app.js --lang=kr --mode=sql --sql=request/sql_files/SQL_001.sql
# CSV-based batch query execution
node app.js --lang=kr --mode=csv --csv=request/SQL2CSV_daily_export.csv
# Show config
node app.js --lang=kr --mode=config
# EXE
client-util-app.exe --lang=kr --mode=db --csv=request/DB_sample.csvRelative paths are resolved against the executable folder in packaged builds.
Database Connection & Permission Check
Supported Databases
Microsoft SQL Server
Full support with connection pooling and encryption
mssqlMySQL / MariaDB
Complete MySQL and MariaDB support
mysql / mariadbPostgreSQL
Advanced PostgreSQL features support
postgresqlOracle Database
Enterprise Oracle database connectivity
oraclePermission Types Checked
CSV File Format
⚠️ Important: UTF-8 Encoding Required
All CSV files must be saved with UTF-8 encoding. Other encodings (EUC-KR, ANSI, etc.) are not supported and will cause Korean characters to display incorrectly.
How to save as UTF-8 in Excel: File → Save As → File type: "CSV UTF-8 (Comma delimited) (*.csv)"
Required Columns
Basic Connection Info
db_name- Database nameusername- Database usernamepassword- Database passwordserver_ip- Server IP or hostnameport- Database port numberdb_type- Database type (mssql, mysql, postgresql, oracle)db_title- Description (optional)
Permission Testing (Optional)
select_sql- SELECT query to executecrud_test_table- Table name for INSERT/DELETE testingcrud_test_columns- Column names (comma-separated)crud_test_values- Test values (comma-separated)
Example CSV
db_name,username,password,server_ip,port,db_type,db_title,select_sql,crud_test_table,crud_test_columns,crud_test_values
SampleDB,sa,password123,localhost,1433,mssql,Sample DB,"SELECT TOP 3 * FROM users",users,"id, name, email","TEST_001, Test User, test@example.com"
Results Analysis
Result CSV Format
The application generates detailed CSV results with the following columns:
Basic Information
timestamp- Check execution timepc_ip- Client PC IP addressserver_ip- Database server IPport- Database portdb_name- Database namedb_type- Database typedb_userid- Database user ID
Connection Results
result_code- SUCCESS / FAILEDerror_code- Error code if failederror_msg- Error message if failedcollapsed_time- Execution time in seconds
Permission Results
perm_select- SELECT permission (Y/N)perm_insert- INSERT permission (Y/N)perm_delete- DELETE permission (Y/N)insert_success- INSERT execution resultdelete_success- DELETE execution result
Query Details (v1.2.0)
insert_query- Actual INSERT query executeddelete_query- Actual DELETE query executedoperation_errors- Detailed error messages
Result Analysis
Success Indicators
result_code= SUCCESSperm_select= Yinsert_success= SUCCESSdelete_success= SUCCESS
Failure Indicators
result_code= FAILED- Check
error_codeanderror_msg - Review
operation_errorsfor details - Verify connection parameters
Troubleshooting
Common Issues
Connection Timeout
Symptoms: Connection attempts fail with timeout errors
Solutions:
- Verify server IP and port are correct
- Check firewall settings
- Ensure database service is running
- Increase timeout values in CSV
Authentication Failed
Symptoms: Login failed or access denied errors
Solutions:
- Verify username and password
- Check user permissions in database
- Ensure user exists and is active
- Verify authentication method
Permission Denied
Symptoms: SELECT/INSERT/DELETE operations fail
Solutions:
- Grant appropriate permissions to user
- Check table existence and access rights
- Verify column names and data types
- Review
operation_errorsfor details
CSV File Not Found
Symptoms: No CSV files found in directory
Solutions:
- Place CSV files in
request/directory - Use correct naming convention (DB_*, server_*)
- Ensure files have .csv extension
- Check file permissions
Best Practices
Security
- Use dedicated test accounts with minimal privileges
- Avoid storing sensitive passwords in plain text
- Use encrypted connections when possible
- Regularly rotate credentials
Testing
- Use unique test data identifiers
- Test on non-production environments first
- Verify cleanup operations complete successfully
- Monitor database logs for issues
File Management
- Organize CSV files by environment or purpose
- Use descriptive file names
- Keep backup copies of working configurations
- Document any custom modifications
Maintenance
- Regularly update database drivers
- Monitor application logs for errors
- Test after database schema changes
- Keep the application updated to latest version
Version History
Major Features
- Multi-language support: English and Korean UI with --lang parameter
- Dual launcher scripts: run.bat (English) and 실행하기.bat (Korean)
- Over 60 translated messages for seamless experience
- UTF-8 CSV encoding required for proper character display
Improvements
- Automatic version reading from package.json in release script
- Dual launcher generation in release package
- Fixed Korean character corruption issues
Critical Bug Fix
- Fixed release package path resolution bug
- Changed from process.cwd() to path.dirname(process.execPath)
- Executable now works correctly regardless of execution location
- Properly recognizes config/, request_resources/, results/, log/ directories
Major Features
- SQL execution results automatically saved to structured CSV files
- #DATABASE or #DB preprocessor directive introduced
- JSON parameter file support (alongside CSV)
- Condition-based result grouping with metadata display
- MariaDB database support added
Improvements
- Automatic database selection from SQL files
- CSV output clearly separated by parameter sets
- Support for array and single object JSON formats
- Execution results include DB metadata
Major Features
- Enhanced log output with database-specific separators
- Detailed error capture for SELECT/INSERT/DELETE operations
- Streamlined file management with smart filtering
- Multi-column DELETE conditions for precise testing
Major Changes
- Safe permission checking using actual tables
- Removed CREATE/DROP permission tests
- Oracle connection error fixes
- Enhanced CSV file format support
Initial Release
- Multi-database support (MSSQL, MySQL, PostgreSQL, Oracle)
- Database connection and permission checking
- Server Telnet connection checking
- SQL execution and result storage
- Integrated menu system