94496111
dump2-4gpf
bcp "SELECT *
FROM ${DB_NAME}..${tableName}
WHERE INTERNTIMESTAMP >= dateadd(dd, -45, getdate())" \
queryout "$CUR_DAT_FILE" -c -t"$DELIMITER" \
-S"${SYBASE_SERVER_NAME}" -U"${SYBASE_DB_USER}" -P"${COMET_PSWD}" -I"${INTERFACE}" \
-b 5000 -e "$DATA_FILE_DIRECTORY/${tableName}_error.log"
HAS_TS=$(isql -S${SYBASE_SERVER_NAME} -U${SYBASE_DB_USER} -P${COMET_PSWD} -I${INTERFACE} -b -Q "
select count(*)
from ${DB_NAME}..syscolumns
where id = object_id('${DB_NAME}..${tableName}')
and name = 'INTERNTIMESTAMP'
" | tr -d '[:space:]')
if [ "$HAS_TS" -eq 1 ]; then
echo "Table ${tableName} HAS INTERNTIMESTAMP — exporting last 45 days."
bcp "SELECT *
FROM ${DB_NAME}..${tableName}
WHERE INTERNTIMESTAMP >= dateadd(dd, -45, getdate())" \
queryout "$CUR_DAT_FILE" -c -t"$DELIMITER" \
-S"${SYBASE_SERVER_NAME}" -U"${SYBASE_DB_USER}" -P"${COMET_PSWD}" -I"${INTERFACE}" \
-b 5000 -e "$DATA_FILE_DIRECTORY/${tableName}_error.log"
else
echo "Table ${tableName} DOES NOT have INTERNTIMESTAMP — exporting full table."
bcp "${DB_NAME}..${tableName}" out "$CUR_DAT_FILE" -c -t"$DELIMITER" \
-S"${SYBASE_SERVER_NAME}" -U"${SYBASE_DB_USER}" -P"${COMET_PSWD}" -I"${INTERFACE}" \
-b 5000 -e "$DATA_FILE_DIRECTORY/${tableName}_error.log"
fi
BCP_OUT_STATUS=$?
===================
bcp "
declare @sql varchar(5000)
if exists (
select 1
from ${DB_NAME}..syscolumns
where id = object_id('${DB_NAME}..${tableName}')
and name = 'INTERNTIMESTAMP'
)
select @sql = 'select * from ${DB_NAME}..${tableName} where INTERNTIMESTAMP >= dateadd(dd,-45,getdate())'
else
select @sql = 'select * from ${DB_NAME}..${tableName}'
exec(@sql)
" \
queryout "$CUR_DAT_FILE" \
-c -t"$DELIMITER" \
-S"${SYBASE_SERVER_NAME}" -U"${SYBASE_DB_USER}" -P"${COMET_PSWD}" -I"${INTERFACE}" \
-b 5000 -e "$DATA_FILE_DIRECTORY/${tableName}_error.log"
Top comments (0)