Running it from the web2py shell by importing the pymssql is returning no 
results. I am not getting an error I just get: 

In [10] : rows = cursor.execute("SELECT * FROM PERSON WHERE 
PERSON.LAST_NAME = 'Palmer'")

In [11] : print len(rows)
Traceback (most recent call last):
  File "/home/www-data/web2py/gluon/contrib/shell.py", line 234, in run
    exec compiled in statement_module.__dict__
  File "<string>", line 1, in <module>
TypeError: object of type 'NoneType' has no len()


As I continued to dig into it I have noticed that when pymssql is being 
called from web2py nothing is hitting the freetds log. However executing 
from the shell does. 




On Wednesday, August 5, 2015 at 5:12:19 PM UTC-4, Anthony wrote:
>
> Can you go into a web2py shell and do some basic things, like import 
> pymssql, establish a connection, and issue a basic SQL command?
>
> Also, shouldn't you close the connection (i.e., call DestroyConnection) 
> *before* returning from the function?
>
> Anthony
>
> On Wednesday, August 5, 2015 at 4:55:14 PM UTC-4, David wrote:
>>
>>
>> I like that idea about the __init__ function and will implement that 
>> Thanks!!!
>>
>> I don't get any errors. I am just getting None returned in both the 
>> controller and shell even when hard codeing a SamAccountName that works 
>> within the Python shell. 
>>  
>>
>> On Wednesday, August 5, 2015 at 4:48:03 PM UTC-4, Anthony wrote:
>>>
>>> How are you using this in web2py (i.e., where/how does get_GetEmployeeID 
>>> get called)? Do you get any errors? When you run the web2py shell, how are 
>>> you starting it, and are you using the same Python interpreter as when you 
>>> use the basic Python shell?
>>>
>>> Also, is the only difference between your two classes the hard-coded 
>>> database connection string? If so, why not using a single class and just 
>>> make the connection string an argument of the __init__ function?
>>>
>>> Anthony
>>>
>>> On Wednesday, August 5, 2015 at 4:17:04 PM UTC-4, David wrote:
>>>>
>>>> Here is the first part of the module I was reffering to:
>>>>
>>>> import pymssql
>>>>
>>>>
>>>> class HR_DB():
>>>>     def __init__(self):
>>>>         self.conn = pymssql.connect(DB Connection Info Removed)
>>>>
>>>>     def Execute(self, statement,*args):
>>>>         cursor = self.conn.cursor()
>>>>         cursor.execute(statement, args)
>>>>         result = cursor.fetchall()
>>>>         cursor.close()
>>>>         return result
>>>>
>>>>     def DestroyConnection(self):
>>>>         self.conn.close()
>>>>
>>>> class Coll_DB():
>>>>     def __init__(self):
>>>>         self.conn = pymssql.connect(DB Connection Info Removed)
>>>>
>>>>     def Execute(self, statement, *args):
>>>>         cursor = self.conn.cursor()
>>>>         cursor.execute(statement,args)
>>>>         result = cursor.fetchall()
>>>>         cursor.close()
>>>>         return result
>>>>
>>>>     def DestroyConnection(self):
>>>>         self.conn.close()
>>>>
>>>> def get_GetEmployeeID(SamAccountName):
>>>>
>>>>         conn = Coll_DB()
>>>>         rows = conn.Execute(SQL Removed)
>>>>         if len(rows) > 0:
>>>>             return(rows[0]['collid'])
>>>>         conn.DestroyConnection()
>>>>
>>>>
>>>>
>>>>
>>>> Again this works just fine calling it outside of web2py.
>>>>
>>>> if I run it from the interpreter on the server I am getting the correct 
>>>> id number. Even using the shell in web2py and issuing the same commands I 
>>>> am getting nothing. I feel like I am missing something simple
>>>>
>>>>

-- 
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to