I'm not sure either. Maybe someone with pymssql experience can help.
On Thursday, August 6, 2015 at 11:27:51 AM UTC-4, David wrote:
>
>
> I went and double checked on a local install of web2py and I am getting
> the same result. I also logged into the web server and ran a python script
> to test as the web server user and I do get the expected results from the
> database.
>
> I am still confused at what could be causing this.
>
>
>
> On Wednesday, August 5, 2015 at 9:36:11 PM UTC-4, David wrote:
>>
>> 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.