Friday, December 23, 2016

error while loading shared libraries: libodbc.so.1

When working with UNIXODBC to connect to Microsoft SQLServer received following error

ERROR Database connection TEST: ADBC error 'Internal error         16  has occured'

I receive below error when using isql-v to test the connection

error while loading shared libraries: libodbc.so.1: cannot open shared object file: No such file or directory

I found that soft links are missing and after creating below links everything started working

Issue resolved after creating below soft links
# ln -s /usr/lib64/libodbc.so.2.0.0 /usr/lib64/libodbc.so.1
# ln -s /usr/lib64/libodbcinst.so.2.0.0 /usr/lib64/libodbcinst.so.1

Regards.
Satishbabu Gunukula

Monday, October 17, 2016

[01000][unixODBC][Driver Manager]Can't open lib

I was testing unixODBC configuration to connect to SQLServer Database and received below error message

$ isql -v test_ds test_username test_password
[01000][unixODBC][Driver Manager]Can't open lib '/u01/boxi/app/testsrv/sap_bobj/enterprise_xi40/linux_x64/odbc/lib/CRsqls24.so' : file not found
[ISQL]ERROR: Could not SQLConnect


It looks like path does not exists, lets verify

ls: cannot access /u01/boxi/app/testsrv/sap_bobj/enterprise_xi40/linux_x64/odbc/lib/CRsqls24.so: No such file or directory

The patch does not exist, so update the correct path in odbc.ini and ran “isql –v” to test the connectivity

$ isql -v test_ds test_username test_password
[01000][unixODBC][Driver Manager]Can't open lib '/u01/boxi/app/testsrv/sap_bobj/enterprise_xi40/linux_x64/odbc/7.0.1/lib/CRsqls26.so' : file not found
[ISQL]ERROR: Could not SQLConnect


After updating correct library path, I still see same error. It looks like the environment variables might not set properly. I have verified the LD_LIBRARY_PATH and I see that path does not have right lib info.

After updating LD_LIBRARY_PATH with right library path I was able to connect successfully.

$ isql -v test_ds test_username test_password 
+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+---------------------------------------+
SQL> quit

Regards,
Satishbabu Gunukula


Friday, October 7, 2016

Error converting data type varchar to numeric

I was working on an ETL load and I come across below error when loading data from one table another table.

Error converting data type varchar to numeric

I see that the source table has data type VARCHAR and Target table has data type INTEGER

Source Table: Employee_X
EMPLOYEE_ID VARCHAR(50)
EMPLOYEE_NAME VARCHAR(50)
COSTCODE VARCHAR(50)

Target Table: Employee_Y
EMPLOYEE_ID INT
EMPLOYEE_NAME VARCHAR2 (50)
COSTCODE INT

I have used CAST function in the insert command and able to load data successfully

Insert into Employee_Y (EMPLOYEE_ID, EMPLOYEE_NAME, COSTCODE)
SELECT cast(EMPLOYEE _ID as INT) as EMPLOYEE_ID,
               EMPLOYEE_NAME,
               cast(COSTCODE as INT) as COSTCODE,
FROM Employee_X;

Regards
Satishbabu Gunukula


Wednesday, February 17, 2016

VIEW SERVER STATE permission was denied on object ‘server’, database ‘master’.

With one of the application I have seen below error when working with SQL Server

VIEW SERVER STATE permission was denied on object ‘server’, database ‘master’ ( Microsoft SQL Server , Error: 300)

The issue is user don’t have VIEW SERVER STATE permission. Note that this will allow an auditing process to view all data or all database states on the instance of SQL Server.

The below command should solve the issue, but before you grant make sure you understand the implications of granting the below permission.

USE MASTER
GO
GRANT VIEW SERVER STATE TO <username>


Regards,
Satishbabu Gunukula



Wednesday, September 30, 2015

The cluster resource 'SQL Server (SQL2014)' could not be brought online due to an error bringing the dependency resource 'SQL Network Name (SQL2014)'


Users will face this common issue during SQL Server Failover Cluster installation. Note that SQL Server Engine service is always dependent on Network Name resource. The network resource failure can result the SQL Server resource not coming online.

User may see below messages in system log

Cluster network name resource 'SQL Network Name (SQL2014)' failed to create its associated computer object in domain sqlserver-expert.com' during: Resource online.

The text for the associated error code is: Access is denied.

Please work with your domain administrator to ensure that:
- The cluster identity 'SQL2014$' has Create Computer Objects permissions. By default all computer
objects are created in the same container as the cluster identity 'SQL2014$'.
- The quota for computer objects has not been reached.
- If there is an existing computer object, verify the Cluster Identity 'SQL2014$' has 'Full Control' permission to that computer object using the Active Directory Users and Computers tool.

The main cause for this error is insufficient permission to create computer objects. You have two options to resolve this error.

1. Ask your Windows Admin to grant permission “Read all properties” and “Create Computer Objects to the CNO via the container.

Or

2. Ask your Windows Admin to create required computer objects.

You can refer below link for more info

http://blogs.msdn.com/b/psssql/archive/2013/09/30/error-during-installation-of-an-sql-server-failover-cluster-instance.aspx

Regards,
Satishbabu Gunukula