📖 User Manual

Client Util App v1.3.10

User Manual

Complete guide to using the Node.js Integrated Utility Tool
Multi-language support with English and Korean UI | UTF-8 CSV encoding required

Client Util App
$ node app.js
========================================
Node.js Integrated Utility Tool
========================================
📋 Main Menu
1. Database Connection and Permission Check
2. Server Telnet Connection Check
3. Database SQL Execution
4. CSV-based Batch Query Execution ⭐
5. Configuration Management
0. Exit
Select option (0-4):

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_*.csv files from request/ 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

1

Download Binary Release

Download the latest binary file from GitHub releases page:

ClientUtilApp-v1.3.10-win-x64.zip

Download link: GitHub Releases

2

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 file
  • run.bat - Batch execution file
  • config/ - Configuration directory
  • request/ - CSV sample files
  • user_manual/ - User manuals
3

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=db Database connection and permission check
  • --mode=telnet Server telnet connection check
  • --mode=sql Single SQL execution
  • --mode=csv CSV-based batch query execution
  • --mode=config Print 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.csv

Relative 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

mssql
🐬

MySQL / MariaDB

Complete MySQL and MariaDB support

mysql / mariadb
🐘

PostgreSQL

Advanced PostgreSQL features support

postgresql
🔶

Oracle Database

Enterprise Oracle database connectivity

oracle

Permission Types Checked

👁️

SELECT

Read data from tables using custom queries

INSERT

Insert test data into specified tables

🗑️

DELETE

Remove test data using multi-column conditions

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 name
  • username - Database username
  • password - Database password
  • server_ip - Server IP or hostname
  • port - Database port number
  • db_type - Database type (mssql, mysql, postgresql, oracle)
  • db_title - Description (optional)

Permission Testing (Optional)

  • select_sql - SELECT query to execute
  • crud_test_table - Table name for INSERT/DELETE testing
  • crud_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 time
  • pc_ip - Client PC IP address
  • server_ip - Database server IP
  • port - Database port
  • db_name - Database name
  • db_type - Database type
  • db_userid - Database user ID

Connection Results

  • result_code - SUCCESS / FAILED
  • error_code - Error code if failed
  • error_msg - Error message if failed
  • collapsed_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 result
  • delete_success - DELETE execution result

Query Details (v1.2.0)

  • insert_query - Actual INSERT query executed
  • delete_query - Actual DELETE query executed
  • operation_errors - Detailed error messages

Result Analysis

Success Indicators

  • result_code = SUCCESS
  • perm_select = Y
  • insert_success = SUCCESS
  • delete_success = SUCCESS

Failure Indicators

  • result_code = FAILED
  • Check error_code and error_msg
  • Review operation_errors for 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_errors for 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

v1.3.4
2025-10-18

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
v1.3.3
2025-10-16

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
v1.3.0
2025-10-08

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
v1.2.0
2025-01-07

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
v1.1.0
2025-10-05

Major Changes

  • Safe permission checking using actual tables
  • Removed CREATE/DROP permission tests
  • Oracle connection error fixes
  • Enhanced CSV file format support
v1.0.0
2025-08-27

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