TekBytz

Issue in installing IBM JDK on CENTOS Linux

by on Nov.29, 2019, under Uncategorized

I had a a issue in installing the IBM JDK on a new CENTOS Linux box.

Error message:

./ibm-java-linux-sdk-8.0-5.41.bin
Preparing to install...
Extracting the JRE from the installer archive...
Unpacking the JRE...
Extracting the installation resources from the installer archive...
Configuring the installer for this system's environment...

Launching installer...

JRE libraries are missing or not compatible....
Exiting....

There was no way that I could figure out what libraries are missing. IBM installer does not have a direct option or log to figure that out. Finally found that we need to enable debug and here is way to do that.

export LAX_DEBUG=true

 

Once the debug is enabled and when you try to run the installer again, it provides the library that was missing.

Leave a Comment more...

Cut/Copy/Paste not working in Microsoft Remote Desktop for Mac

by on Nov.29, 2019, under Issues, MAC, Software, Windows

Had a wired issue that when I cut/copy/past from my MAC machine to Windows remote desktop machine it was not working. Meanwhile the vice versa was working.

After may attempts this solution worked.

In the command Prompt of Remote windows machine  run the commands

Taskkill.exe /im rdpclip.exe
Rdpclip.exe

Alternately, you can go to task manager and locate the process rdpclip.exe and end the process. Start again the process from the command prompt or Run option

Leave a Comment more...

Migrating Oracle Pivot Function to DB2/DASHDB

by on Aug.08, 2017, under Database

I have come across a situation where I need to migrate a ORACLE query which has a pivot function to DB2 equivalent SQL. The Pivot function is not available in DB2 or DASHDB. so was no direct solution in the internet and hence came up with my own solution

Sample Oracle Query with pivot function :

SELECT NM,DESC,ADM,USR,SUP
FROM
(
SELECT NM, DESC, GRP
FROM SRC_GRP
)
PIVOT
(
COUNT(GRP)
FOR GRP IN
(
'Admin' as ADM,
'User' as USR,
'Support' as SUP
)
)
ORDER BY NM

 

Converted equivalent DB2/DASHDB query:

SELECT NM,DESC,count(ADM) AS ADM,count(USR) AS USR,count(SUP) AS SUP
FROM
(
SELECT NM, DESC,
CASE WHEN GRP = 'Admin' THEN GRP END AS ADM,
CASE WHEN GRP = 'User' THEN GRP END AS USR,
CASE WHEN GRP = 'Support' THEN GRP END AS SUP
FROM SRC_GRP
)
group by NM, DESC
Order by NM

 

I was able to get the same output from both the queries.

Leave a Comment :, , , , , , more...

Datastage : Schema reconciliation detected a size mismatch in timestamp

by on Jul.31, 2017, under Error and Issues

Error Message: 

Schema reconciliation detected a size mismatch for column DT. When writing column DATETIME(fraction=6) into database column DATETIME(fraction=0), truncation, loss of precision, data corruption or padding can occur.

 

Resolution : 

This issue occurs when the source stream is read as times tamp with microseconds and when writing into target the time stamp field does not have microseconds scale.  There is no direct functions to truncate the microseconds scale, as a work-around below method can be used.

StringToTimestamp(TimestampToString(from_xfm.DT,"%yyyy-%mm-%dd %hh:%nn:%ss") ,"%yyyy-%mm-%dd %hh:%nn:%ss")

Leave a Comment :, , , , more...

SQL0668N Operation not allowed for reason code “3” on table

by on Jul.24, 2017, under Error and Issues

Error:

SQLExecute reported: SQLSTATE = 57016: Native Error Code = -668: Msg = [IBM][CLI Driver][DB2/LINUXX8664] SQL0668N Operation not allowed for reason code “3” on table “XXX.XXXX”. SQLSTATE=57016

 

Resolution:

After doing several research the issue was the table was marked in check pending state due to bad bulk load without terminate in load statement.

Loading a null file to the table with the terminate command will clear the issue.

load from /dev/null of del terminate into XXX.XXXX

Sample :

db2 => LOAD FROM /DEV/NULL OF DEL TERMINATE INTO XXX.XXXX
SQL3110N The utility has completed processing. "0" rows were read from the
input file.


Number of rows read = 0
Number of rows skipped = 0
Number of rows loaded = 0
Number of rows rejected = 0
Number of rows deleted = 0
Number of rows committed = 0

 

Platform :

Datastage 11.5 on Linux &

DB2 10.5 on Linux

Leave a Comment :, , , , more...

Datastage : DB2 Lookup Stage : SAX parser exception thrown: The input ended before all started tags were ended

by on Jun.30, 2017, under Error and Issues

Error :

Unrecognized argument: variant=’9.1\’,
library=ccdb2,
version=1.0,
variantlist=\’V1;9.1::ccdb2\’,
versionlist=\’1.0\’,
name=DB2Connector
}’

SAX parser exception thrown: The input ended before all started tags were ended. Last tag started was ‘before’ (CC_PropertySet::fatalError, file CC_PropertySet.cpp, line 2,236)

 

Resolution:

There are lot of references in google that the similar kind of error occurred in the XML stage and it it XML stage related error.  But in my case this occurred in the DB2 lookup stage. After serval analysis, I found that, there was a environment variable defined for the table name and during the migration the environment variable was not added in the job parameter.

example :

SELECT COL1, COL2  FROM #$SrcTbl#

$SrcTbl was missing in the job parameter list.

This looks to weird since if this was in DB2 source or target stage, the error will be table not found.

 

Platform :

Datastage 11.5 on Linux

 

 

1 Comment :, , more...

DataStage : DB2 Stage : Failure during execution of operator logic

by on Jun.30, 2017, under Error and Issues

Error Details :
Failure during execution of operator logic.
Output 0 produced 0 records.
APT_Decimal::assignFromString: invalid format for the source string. Expecting trailing NUL, space, or tab character(s) got ‘E’

Resolution:
One of the column which has the SQL type Decimal has the value “5E+7” which was not able convert to Decimal value. To eliminate this error read the column as String

This could happen when the decimal field is computed. To revert back to decimal field use explicit cast function

CAST(CAST(DISBURSED_AMOUNT AS FLOAT) AS DECIMAL(31,2))

Platform : 

DataStage 11.5 running on linux
DASHDB 10.5 running on linux

Leave a Comment :, , , more...

Live Currency Conversion For Multi-Currency E-Commerce Websites

by on Apr.15, 2016, under Internet, Links, Programming

If your E-Commerce website requires to display the product value in multiple currency based on user’s choice, it requires a conversion from base currency. This piece of utility will directly do the currency conversion based on live exchange rates. This utility used from google finance currency conversion module to perform the conversion and provide the output value.

Utility Usage:
http://currency.tekbytz.com/?amount=<amount>&from=<from currency>&to=<to currency>

Sample Usage:

http://currency.tekbytz.com/?amount=10&from=USD&to=INR

http://currency.tekbytz.com/?amount=20&from=CAD&to=EUR

http://currency.tekbytz.com/?amount=25&from=MYR&to=INR

The below currency format/codes are supported

  • United Arab Emirates Dirham (AED)
  • Afghan Afghani (AFN)
  • Albanian Lek (ALL)
  • Armenian Dram (AMD)
  • Netherlands Antillean Guilder (ANG)
  • Angolan Kwanza (AOA)
  • Argentine Peso (ARS)
  • Australian Dollar (A$)
  • Aruban Florin (AWG)
  • Azerbaijani Manat (AZN)
  • Bosnia-Herzegovina Convertible Mark (BAM)
  • Barbadian Dollar (BBD)
  • Bangladeshi Taka (BDT)
  • Bulgarian Lev (BGN)
  • Bahraini Dinar (BHD)
  • Burundian Franc (BIF)
  • Bermudan Dollar (BMD)
  • Brunei Dollar (BND)
  • Bolivian Boliviano (BOB)
  • Brazilian Real (R$)
  • Bahamian Dollar (BSD)
  • Bitcoin (฿)
  • Bhutanese Ngultrum (BTN)
  • Botswanan Pula (BWP)
  • Belarusian Ruble (BYR)
  • Belize Dollar (BZD)
  • Canadian Dollar (CA$)
  • Congolese Franc (CDF)
  • Swiss Franc (CHF)
  • Chilean Unit of Account (UF) (CLF)
  • Chilean Peso (CLP)
  • CNH (CNH)
  • Chinese Yuan (CN¥)
  • Colombian Peso (COP)
  • Costa Rican Colón (CRC)
  • Cuban Peso (CUP)
  • Cape Verdean Escudo (CVE)
  • Czech Republic Koruna (CZK)
  • German Mark (DEM)
  • Djiboutian Franc (DJF)
  • Danish Krone (DKK)
  • Dominican Peso (DOP)
  • Algerian Dinar (DZD)
  • Egyptian Pound (EGP)
  • Eritrean Nakfa (ERN)
  • Ethiopian Birr (ETB)
  • Euro (€)
  • Finnish Markka (FIM)
  • Fijian Dollar (FJD)
  • Falkland Islands Pound (FKP)
  • French Franc (FRF)
  • British Pound (£)
  • Georgian Lari (GEL)
  • Ghanaian Cedi (GHS)
  • Gibraltar Pound (GIP)
  • Gambian Dalasi (GMD)
  • Guinean Franc (GNF)
  • Guatemalan Quetzal (GTQ)
  • Guyanaese Dollar (GYD)
  • Hong Kong Dollar (HK$)
  • Honduran Lempira (HNL)
  • Croatian Kuna (HRK)
  • Haitian Gourde (HTG)
  • Hungarian Forint (HUF)
  • Indonesian Rupiah (IDR)
  • Irish Pound (IEP)
  • Israeli New Sheqel (₪)
  • Indian Rupee (Rs.)
  • Iraqi Dinar (IQD)
  • Iranian Rial (IRR)
  • Icelandic Króna (ISK)
  • Italian Lira (ITL)
  • Jamaican Dollar (JMD)
  • Jordanian Dinar (JOD)
  • Japanese Yen (¥)
  • Kenyan Shilling (KES)
  • Kyrgystani Som (KGS)
  • Cambodian Riel (KHR)
  • Comorian Franc (KMF)
  • North Korean Won (KPW)
  • South Korean Won (₩)
  • Kuwaiti Dinar (KWD)
  • Cayman Islands Dollar (KYD)
  • Kazakhstani Tenge (KZT)
  • Laotian Kip (LAK)
  • Lebanese Pound (LBP)
  • Sri Lankan Rupee (LKR)
  • Liberian Dollar (LRD)
  • Lesotho Loti (LSL)
  • Lithuanian Litas (LTL)
  • Latvian Lats (LVL)
  • Libyan Dinar (LYD)
  • Moroccan Dirham (MAD)
  • Moldovan Leu (MDL)
  • Malagasy Ariary (MGA)
  • Macedonian Denar (MKD)
  • Myanmar Kyat (MMK)
  • Mongolian Tugrik (MNT)
  • Macanese Pataca (MOP)
  • Mauritanian Ouguiya (MRO)
  • Mauritian Rupee (MUR)
  • Maldivian Rufiyaa (MVR)
  • Malawian Kwacha (MWK)
  • Mexican Peso (MX$)
  • Malaysian Ringgit (MYR)
  • Mozambican Metical (MZN)
  • Namibian Dollar (NAD)
  • Nigerian Naira (NGN)
  • Nicaraguan Córdoba (NIO)
  • Norwegian Krone (NOK)
  • Nepalese Rupee (NPR)
  • New Zealand Dollar (NZ$)
  • Omani Rial (OMR)
  • Panamanian Balboa (PAB)
  • Peruvian Nuevo Sol (PEN)
  • Papua New Guinean Kina (PGK)
  • Philippine Peso (Php)
  • PKG (PKG)
  • Pakistani Rupee (PKR)
  • Polish Zloty (PLN)
  • Paraguayan Guarani (PYG)
  • Qatari Rial (QAR)
  • Romanian Leu (RON)
  • Serbian Dinar (RSD)
  • Russian Ruble (RUB)
  • Rwandan Franc (RWF)
  • Saudi Riyal (SAR)
  • Solomon Islands Dollar (SBD)
  • Seychellois Rupee (SCR)
  • Sudanese Pound (SDG)
  • Swedish Krona (SEK)
  • Singapore Dollar (SGD)
  • St. Helena Pound (SHP)
  • Slovak Koruna (SKK)
  • Sierra Leonean Leone (SLL)
  • Somali Shilling (SOS)
  • Surinamese Dollar (SRD)
  • São Tomé & Príncipe Dobra (STD)
  • Salvadoran Colón (SVC)
  • Syrian Pound (SYP)
  • Swazi Lilangeni (SZL)
  • Thai Baht (THB)
  • Tajikistani Somoni (TJS)
  • Turkmenistani Manat (TMT)
  • Tunisian Dinar (TND)
  • Tongan Paʻanga (TOP)
  • Turkish Lira (TRY)
  • Trinidad & Tobago Dollar (TTD)
  • New Taiwan Dollar (NT$)
  • Tanzanian Shilling (TZS)
  • Ukrainian Hryvnia (UAH)
  • Ugandan Shilling (UGX)
  • US Dollar ($)
  • Uruguayan Peso (UYU)
  • Uzbekistani Som (UZS)
  • Venezuelan Bolívar (VEF)
  • Vietnamese Dong (₫)
  • Vanuatu Vatu (VUV)
  • Samoan Tala (WST)
  • Central African CFA Franc (FCFA)
  • East Caribbean Dollar (EC$)
  • Special Drawing Rights (XDR)
  • West African CFA Franc (CFA)
  • CFP Franc (CFPF)
  • Yemeni Rial (YER)
  • South African Rand (ZAR)
  • Zambian Kwacha (1968–2012) (ZMK)
  • Zambian Kwacha (ZMW)
  • Zimbabwean Dollar (2009) (ZWL)

Source : Google Finance

Leave a Comment :, , , , more...

How to run a background command in script as a parameter in unix shell scripts

by on Jun.21, 2013, under Programming, Unix

Many times you would have tried running a command or script directly in a unix script by providing the name and path of the script. Also you would have run scripts are commands by assingning to variables. But by any chance if you had tried running a script or command assingned to variables you might got struck and which also gives you a vauge error message.

For example consider a script param.sh as below
 

echo $1
$1

And you are running the scipt as

./param.sh 'ls -ltr &'

You would be getting a error message

./& not found

This issue can be resloved by using eval command in param.sh and the new script looks as below.

eval $1

eval command will take an argument and construct a command of it, which will be executed by the shell. It is an inbuit command and there is the man page http://www.unix.com/man-page/posix/1posix/eval/

Leave a Comment :, , , more...

How to find a substring between Nth and (N+1)th occurance of a charecter in a cell in Excel

by on Jun.21, 2013, under Office, Windows

Excel’s built-in functions can do some pretty clever stuff, but unfortunately Excel has no single function that will return the  string beween nth and n+1th charecter occurrence of specified data. Fortunately, there are ways to make Excel do this. The function used could be complex but could be accomblished.

Consider if you have the text “How to find the substring in Excel” in cell A1 and incase if you need to find 5th word in the string the below formula can be used. This can be used for strings with any seperators

=IF(ISERR(MID(A1,FIND(CHAR(1),SUBSTITUTE(A1," ",CHAR(1),4))+1,(FIND(CHAR(1),SUBSTITUTE(A1," ",CHAR(1),5))-FIND(CHAR(1),SUBSTITUTE(A1," ",CHAR(1),4))-1))),"",MID(A1,FIND(CHAR(1),SUBSTITUTE(A1," ",CHAR(1),4))+1,(FIND(CHAR(1),SUBSTITUTE(A1," ",CHAR(1),5))-FIND(CHAR(1),SUBSTITUTE(A1," ",CHAR(1),4))-1)))

 As a Generic formula the below paramters can be changed to achive to find any word between occurances

=IF(ISERR(MID(A1,FIND(CHAR(1),SUBSTITUTE(A1,"C",CHAR(1),n))+1,(FIND(CHAR(1),SUBSTITUTE(A1,"C",CHAR(1),m))-FIND(CHAR(1),SUBSTITUTE(A1,"C",CHAR(1),n))-1))),"",MID(A1,FIND(CHAR(1),SUBSTITUTE(A1,"C",CHAR(1),n))+1,(FIND(CHAR(1),SUBSTITUTE(A1,"C",CHAR(1),m))-FIND(CHAR(1),SUBSTITUTE(A1,"C",CHAR(1),n))-1)))

 Where

A1 – Cell of the string

C – is the Charecter occurance, can be ” “, “.” etc

n – Nth occurance of Charecter C, n starts from 0

m – N+1 occurance of Charecter C, m starts from 0

 Few other useful formulas that would handle strings.

Finding the Nth position of a charecter

=FIND(CHAR(1),SUBSTITUTE(A1,”i”,CHAR(1),3))

This formula will inf the 3rd occurance if charecter “i” in cell A1.

Alternte formula with similar function

=SEARCHB("i",A1,(SEARCHB("i",A1,(SEARCHB("i",A1,1)+1))+1))

Finding the first Word in a String

=IF(ISERR(MID(A1,1,FIND(" ",A1)-1)),"",MID(A1,1,FIND(" ",A1)-1))

This formula will find the 1st word in a sting in cell A1.

Leave a Comment :, more...

Looking for something?

Use the form below to search the site:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!