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