Cisco Support Community
Showing results for 
Search instead for 
Did you mean: 

Welcome to Cisco Support Community. We would love to have your feedback.

For an introduction to the new site, click here. And see here for current known issues.

New Member

LMS 3.2 connect through ODBC

Hello !

We are using UnixODBC and FreeTDS to connect to the LMS 3.2. We use the utility isql

We have enabled the username lmsdatafeed and the pw. We have created a dsn in the odbc.ini to connect to RME.

We manage to connect to the database ( rmengdb) but when trying to do a select on a table we get a deny permission.

isql -v CW2Ktrace lmsdatafeed xxxx

| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |

select Device_ID from NETWORK_DEVICES
[42501][unixODBC][FreeTDS][SQL Server]SQL Anywhere Error -121: Permission denied: you do not have permission to use the "CREATE PROCEDURE" statement
[ISQL]ERROR: Could not SQLExecute

Is there something that we have bypassed ?

The same user ID and the password work when we access in a windows through ODBC, and Microsoft Access the RME database.

Thanks for your help,

Cisco Employee

Re: LMS 3.2 connect through ODBC

What is CW2Ktrace?  The first argument to isql should be the dsn (cmf in this case).  It also looks like unixODBC or FreeTDS may be sending additional query data to the database server.  The user used for direct database access only has read-only access, so creating anything will not be possible.  Certainly, a SELECT query should not be creating a stored procedure, so that makes me think unixODBC or FreeTDS is doing something behind the scenes.

You may want to check with their support mailing lists to see if they do any kind of hidden queries like this.

New Member

Re: LMS 3.2 connect through ODBC


CW2Ktrace is the dsn defined in odbc.ini with the parameters to connect to rmengdb, so host, port, driver, tds version(5), etc..

After setting up a trace, I can confirm that yes, isql sends a "create procedure". This is what we see in the trace:

create proc ik80336000 as select PROCESSOR_MEMORY from MEMORY_INVENTORY

We have addressed this to unixodbc