Использование команды оболочки Linux для вставки данных CSV в DB2 - PullRequest
0 голосов
/ 25 февраля 2019

Мне потребуется некоторая помощь при вставке данных из файла CSV в таблицу CUSTOMER с помощью сценария Shell.Можно ли получить данные CSV через запятую вместо фиксированной позиции данных?Например, данные для моих замечаний не имеют фиксированной позиции, то есть они могут содержать 10 или 15 символов, следовательно, переменная изменяется.

#!/bin/bash

PASSFILE=/credentials/systemcredential.properties
USERID=$(cat $PASSFILE | grep UserID | cut -f2 -d=)
PASSWORD=$(cat $PASSFILE | grep Pwd | cut -f2 -d=)

# connect to database
source /opt/db2home/db2profile
db2 connect to DBRPTGU user $USERID using $PASSWORD

#--------------------------------------------------#
# TABLE: CUSTOMER
#--------------------------------------------------#

#db2 "select count(*) from udbcuser.CUSTOMER"

db2 "load from /batchload/data/CUSTOMER.csv of asc
method L(1 7, 9 23, 25 39, 41 47, 49 68)
insert_update into udbcuser.CUSTOMER(CUSTOMER_ID,CUSTOMER_NAME,ITEM_PURCHASED,AMOUNT_PURCHASED,REMARKS)"

Образец данных по запросу:
9000001, МихаилTan, Wallet, $ 30, Первый клиент
9000002, Салли Гомес, Куртка, $ 90,
9000003, Cheng Ning, Ботинки, $ 80, Участник
9000004, Ричард Чин, Солнцезащитные очки, $ 30, Участник

Спасибо!

...