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
Friday, December 23, 2016
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
$ 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
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
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
Subscribe to:
Posts (Atom)