In my previous posts about Querying Teradata and SQL Server, I logged into the virtual machine graphic interface to manage the database. However, I constantly found it is resource intensive as there is only 4GB memory in my laptop. Instead, I will use text mode to start the virtual machine and connect through SQL Assistant in Windows master machine.
Follow the above post to setup your Teradata virtual machine if you have not done that.
Download and install ‘Teradata Tools and Utilities - Windows Installation Package’:
This includes SQL Assistant, load & unload utilities, database management, administration and drivers, and much more to be used to connect to your Teradata Express database instance.
If you want to startup SUSE Linux without GUI, find file ‘/etc/inittab’ and you will see this line
Change the value 5 to 3 ; after you change it, the line will look like this
When you reboot, the default is the text startup mode.
You can now only allocate the smaller size memory to your virtual machine. In my case, I allocated 1536 MB.
For network connections, you can choose NAT.
After configuration, start the VM.
Input the default password ‘root’ if you have not changed it.
When starting with level 3, you should be able to see the IP address of the VM:
Alternatively, use IP ADDR command to check you IP:
In my case, the IP assigned by the virtual DHCP is 192.168.121.128.
Make sure you can ping the VM successfully in the host.
Use command ‘pdestate –a’ to check the status of Teradata services. Ensure the status is running (PDE state is RUN/STARTED).
Running the command multiple times, you can notice the status change:
Sometimes I found the service cannot be started because of insufficient memory allocated. If that is the case, allocate more memory to your VM.
Open Teradata SQL Assistant in Windows host machine.
Choose Teradata.Net as the driver.
Input the following parameters:
Server: 192.168.121.128 (IP address of the virtual machine)
Click OK to connect. Once it is done, you can view the objects in DBC database.
If you encountered the following error, it is probably because the service is not started yet.
Teradata SQL Assistant
 Could not resolve Data Source=192.168.121.128 to an available node after 1 attempts.
 System.Net.Sockets.SocketException (0x80004005): No connection could be made because the target machine actively refused it 192.168.121.128:1025
at System.Net.Sockets.Socket.EndConnect(IAsyncResult asyncResult)
at Teradata.Client.Provider.WpTcpTransport.WaitOnSockets(List`1 sockets, UtlStopwatchWrapper timer, Int32 timeout, Int32 lccTimeout, TdErrorCollection errors)
If you have been following my tutorial about Querying Teradata and SQL Server, you can now use SQL Assistant in the host system to query the data.
DATABASE TD_MS_SAMPLE_DB; SELECT Emp.EmployeeID, Emp.EmployeeName, Dept.DepartmentName FROM TD_MS_SAMPLE_DB.Employee Emp INNER JOIN Department Dept ON Dept.DepartmentID = Emp.DepartmentID ORDER BY Emp.EmployeeID;
You will get the following result:
If your VM accidently stopped, you can restart it using the following command.
Read the official article for more details:
The PDE state in my VM stays at DOWN/HARDSTOP though I restarted the TPA service several times.
Look into the log and then I found out the reason.
The culprit was found out:
PdeMain NOT started, PANIC-LOOP-DETECTED. Please delete file “/var/opt/teradata/tdtemp/PanicLoopDetected”, after resolving the panic issue.
I used the command ‘rm /var/opt/teradata/tdtemp/PanicLoopDetected’. The issue was then fixed.
You can change back to GUI mode. Input YaST command.
Select ‘System Services (Runlevel)’
Definitely, you can also directly modify the file ‘/etc/inittab’ as we did previously.
My windows OS can ping the IP for the VM. However, when I try to connect in windows through SQLA I can not get it to ping, and I get the login error... I realize you say that it is because the service has not started yet, but what does that mean? how can I establish the connection? I am also on a bridged connection.
@Joe Can you try the following command to start your service in VM? /etc/init.d/tpa start Could you please also parse the status of Teradata service if it cannot be started successfully? The command you can use to check service status is: pdestate –a
@Joe The status shows your service is running correctly. If your can ping your VM that means it is probably something to do with the port number the service is using. For example, the firewall may be blocking traffic from/to the default port number 1025. Could you please double-check your firewall settings? The example was using NAT. Could you please try whether NAT works? If it works, then the problem is most likely to do with the port number. As I am not an expert in network, you may have to look into VM official documentations to find out details about it. I will also try the bridged network in my laptop to see whether it will work when I get home.
@Raymond Yes, I have tried it in NAT mode, and I still get that error about login in SQLA. I can connect on my VM and pingit on my WindowsOS. Right now my firewall is off, how can I check if the port is being blocked? Please also let me know if your bridged connection worked. Thanks
@Raymond Hey, Raymond thanks for all your help, but I fixed the problem. Within the Teradata Express VM, I opened YaST2 and used the network setup method. I then edited my VMware Single Port adapter. This enabled the DHCP. If you choose the automatic address setup (via DHCP) it should configure and give you a new IP address. I then was able to use this IP address to connect to my VM on the host. Now bteq and SQLA can logon to the VM database. I also found that VMnet0 is your bridged connection, however, my host isn't showing a VMnet0 at all... I wonder if this is an issue. So I'm investigating this further. I'm still unable to connect to the internet, but as long as I can connect to my VM, it'll suffice.
@Joe hi Joe, I am glad that your problem is resolved. Last night I upgraded VMware Player to version 12 as the previous one didn't work well in my Windows 10 machine. The NAT connection mode is always working. However I could not get the bridged network mode work even I can see one IP is allocated to the virtual machine from router. DHCP was already setup previously for my virtual adapters. Yes, you are right. VM0 is also not shown in my network adapter list though I can see vm1 and 8 which are used for the other two types of connection mode respectively. So my issue is a little bit different from yours. I will also let you know once I fix it.