LMS 3.2 connect through ODBC

Unanswered Question
Nov 22nd, 2009
User Badges:

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                                  |
|                                       |
+---------------------------------------+
SQL>

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,



  • 1
  • 2
  • 3
  • 4
  • 5
Overall Rating: 0 (0 ratings)
Loading.
Joe Clarke Sun, 11/22/2009 - 15:55
User Badges:
  • Cisco Employee,
  • Hall of Fame,

    Founding Member

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.

engineer1a Mon, 11/23/2009 - 04:09
User Badges:

Hello,


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

Thanks


Actions

This Discussion