Skip to main content
Announcements
UPGRADE ADVISORY for Qlik Replicate 2024.5: Read More
cancel
Showing results for 
Search instead for 
Did you mean: 
judian_lin
Partner - Contributor II
Partner - Contributor II

No Teradata driver were found

Hi Sir,

Customer  has a situation that they upgraded QR to version 2021_5, and they've installed TD client driver 17.10, then reboot the QR server after installing the driver. But, when they tried to connect to TD 17.10, the error message showed up. 

How can we fix it? Please tell us.

Labels (1)
1 Solution

Accepted Solutions
Heinvandenheuvel
Specialist III
Specialist III

>> They use the same Teradata database, but they want to connect separately using different DB schema, therefore they have set up 50 endpoints.


50 endpoints implies 50+ tasks.

That's a lot of resource both on the Replicate server as well as  the Teradata source.

It's a lot of 'things' to manage, monitor, worry about and as you found out a lot of things to change if a generic change needs to be made as you found out.

Just like John asks, Do all the endpoints have unique usernames?
If so, why? For ease of (table selection) use or security? Security is not a great reason because of folks can create their own tasks, then can just create one with someone else's username.
Would it not be possible to use a single superuser and select the table owner in the tasks?
Would it not be possible to use fewer or a single task and let it take care of tables from multiple owners?

When they changed the system environment variable did they bounce the Replicate service? It needs a change to re-read the new values!

Anyway, if I needed to add an internal parameter to 50 endpoints then I would
1) repctl -d xxx exportrepository
2) copy replication_defintions.json to replicate_endpoint_definitions_yyyymmdd.json
3) find a good editor like notepad++ (or use mone of my modfy_json perl/powerpoint scripts)
4) to reduce chances of potential (future) mistakes remove all sections except 'databases'
---> error_behavior, notifications, replication_environment, scheduler, tasks
5) bulk replace a tardata source unique line ( "$type": "TeradatasourceSettings", )
with two lines, the first and the new one ( "driver": "Teradata Database ODBC Driver 17.10", )
6) repctl -d xxx importrepository json_file = eplicate_endpoint_definitions_yyyymmdd.json
'test' endpoint.
All of this in DEV first of course 🙂

btw... John, you wrote 'provide', are you sure that is valid? should it not be "driver" ?

Cheers,

Hein

 

 

View solution in original post

13 Replies
Maria_Halley
Support
Support

@judian_lin

 

I will move this to the Qlik Replicate board. So your post gets the right audience.

john_wang
Support
Support

Dear @judian_lin ,

If I'm correct you are running Replicate on Windows platform. Can you add TD installation directory to the system PATH environment and restart the service again.

Another factor is using the internal parameter "provide" and set its value to corresponding driver name eg:

 

Teradata Database ODBC Driver 17.10

 

Let me know if you need any additional information.

Regards,

John.

Help users find answers! Do not forget to mark a solution that worked for you! If already marked, give it a thumbs up!
judian_lin
Partner - Contributor II
Partner - Contributor II
Author

Dear @john_wang ,

 

Customer has tried both of the ways you mentioned, the first way did not work for them but the other one works.

Although the problem was solved, customer still wants to know why the two ways cannot be found in User Guide.

And, why do they need to set the internal parameter in the version? Does it mean that all the later version need to conduct the step?

 

Please tell us.

 

Thanks and regards,

Judian

john_wang
Support
Support

Dear @judian_lin ,

That's because the default driver/provide version in Replicate is other version. In 2021.5 the default Teradata ODBC Driver version is 16.x and 15.x. if you use non-default version then specify it by Internal Parameter.

Certainly if Replicate (eg higher versions) change its default version to 17.x then the Internal Parameter is unnecessary anymore.

Feel free to let me know if you need any additional assistance.

Regards,

John.

Help users find answers! Do not forget to mark a solution that worked for you! If already marked, give it a thumbs up!
judian_lin
Partner - Contributor II
Partner - Contributor II
Author

Dear @john_wang ,

I got it. Besides, customer has up to 50 endpoint which all are connecting to Teradata. Since setting system PATH does not work, is any way can be set for all the endpoints by once rather than setting the internal parameter one by one?  

 

Thanks,

Judian.

john_wang
Support
Support

Dear @judian_lin ,

Are you meaning the 50 endpoints connect to different Teradata databases?

If yes you can use export/import utility. Otherwise different tasks can share the same endpoint definition.

Regards,

John.

Help users find answers! Do not forget to mark a solution that worked for you! If already marked, give it a thumbs up!
judian_lin
Partner - Contributor II
Partner - Contributor II
Author

Dear @john_wang ,

They use the same Teradata database, but they want to connect separately using different DB schema, therefore they have set up 50 endpoints.

So, can I understand that they still need to set the internal parameter one by one?

 

Thanks,

Judian.

john_wang
Support
Support

Dear @judian_lin ,

are you meaning the parameter "Default database" in the Teradata endpoint setting? or you are saying different user name ? let me know what's the exact meaning of "different DB schema". we may have other options.

Regards,

John.

 

Help users find answers! Do not forget to mark a solution that worked for you! If already marked, give it a thumbs up!
Heinvandenheuvel
Specialist III
Specialist III

>> They use the same Teradata database, but they want to connect separately using different DB schema, therefore they have set up 50 endpoints.


50 endpoints implies 50+ tasks.

That's a lot of resource both on the Replicate server as well as  the Teradata source.

It's a lot of 'things' to manage, monitor, worry about and as you found out a lot of things to change if a generic change needs to be made as you found out.

Just like John asks, Do all the endpoints have unique usernames?
If so, why? For ease of (table selection) use or security? Security is not a great reason because of folks can create their own tasks, then can just create one with someone else's username.
Would it not be possible to use a single superuser and select the table owner in the tasks?
Would it not be possible to use fewer or a single task and let it take care of tables from multiple owners?

When they changed the system environment variable did they bounce the Replicate service? It needs a change to re-read the new values!

Anyway, if I needed to add an internal parameter to 50 endpoints then I would
1) repctl -d xxx exportrepository
2) copy replication_defintions.json to replicate_endpoint_definitions_yyyymmdd.json
3) find a good editor like notepad++ (or use mone of my modfy_json perl/powerpoint scripts)
4) to reduce chances of potential (future) mistakes remove all sections except 'databases'
---> error_behavior, notifications, replication_environment, scheduler, tasks
5) bulk replace a tardata source unique line ( "$type": "TeradatasourceSettings", )
with two lines, the first and the new one ( "driver": "Teradata Database ODBC Driver 17.10", )
6) repctl -d xxx importrepository json_file = eplicate_endpoint_definitions_yyyymmdd.json
'test' endpoint.
All of this in DEV first of course 🙂

btw... John, you wrote 'provide', are you sure that is valid? should it not be "driver" ?

Cheers,

Hein