Netsuite2.com TBA failure

Hi Everyone,

I am attempting to create a data connector that can access and ingest data from the Netusuite2.com Datasource.
I am using the JDBC driver to do so, but I have hit a stumbling block.
When connecting to the netsuite.com datasource using the username and password I have success.
I understand that to connect to netsuite2.com TBA is the supported method. However when using ‘TBA’ as the username followed by the token password as the password I get the following error message
‘[NetSuite][SuiteAnalytics Connect JDBC Driver][OpenAccess SDK SQL Engine]Failed to login using TBA. Error ticket# l6p3094icqgte94lec5d[232]’

Would anybody be able to provide some assistance?

Add Comment
4 Answer(s)

Hi,

Firstly, you don’t need to use TBA but it is required is you want to use the “Data Warehouse Integrator” role.

You shouldn’t be using the Token Password, instead you should be generating a signature:

https://netsuite.custhelp.com/app/answers/detail/a_id/101883

See also:

https://netsuite.custhelp.com/app/answers/detail/a_id/101877

Thanks,

Chris

Intermediate Answered on August 12, 2022.
Add Comment

Yea you need a script like this to generate the signature on the fly because it uses the current timestamp.  You can’t really do this if you’re just using the ODBC driver on your laptop because you have to generate it each time you want to login.  But if you have some Python script running, then you can generate the signature and pass it to the ODBC driver as the password parameter.  Here is the actual script that I use in Postman:

See:

 

let account = ‘12345678_SB2’; let consumerKey = ‘xxxxx’; let consumerSecret = ‘xxxx’; let tokenId = ‘xxxx’; let tokenSecret = ‘xxxx’;

let timestamp = new Date().getTime().toString().substring(0, 10); let nonce = CryptoJS.lib.WordArray.random(10).toString(); let baseString = account + ‘&’ + consumerKey + ‘&’ + tokenId + ‘&’ + nonce + ‘&’ + timestamp; let key = consumerSecret + ‘&’ + tokenSecret; let signature = CryptoJS.HmacSHA256(baseString, key).toString(CryptoJS.enc.Base64);

pm.environment.set(“account”, account); pm.environment.set(“consumerKey”, consumerKey); pm.environment.set(“tokenId”, tokenId); pm.environment.set(“nonce”, nonce); pm.environment.set(“timestamp”, timestamp); pm.environment.set(“signature”, signature);

Rookie Answered on August 27, 2022.
Add Comment

Does anyone know how to fix this?

I also want to use ODBC with Netsuite2.com as a source but am not able to generate a signature for the TBA.

 

Many thanks,

Rookie Answered on August 30, 2022.
Add Comment

Hi,

To be clear, there’s nothing to fix here. If you want to use Netsuite2.com with the “Data Warehouse Integrator” role or any other role that requires TBA, they you need a solution that can generate the signature in line with what has been described in other replies.

Alternatively, create a custom role that does not require TBA.

Thanks,

Chris

Intermediate Answered on September 5, 2022.
Add Comment

Your Answer

By posting your answer, you agree to the privacy policy and terms of service.
  • This site made possible by our sponsors:   Tipalti   Celigo   Limebox   Become a Sponsor   Become a Sponsor