Just for clarity on this issue: if you save your sessions to MSSQL you will 
get an error because the MS SQL driver is expecting the timestamp to be a 
string, but instead it is a datetime object due to the ".isoformat()" added 
in version 2.19.

By modifying the line 1247 in globals.py, putting the .isoformat in 
comment, the timestamp is again a string and it works again.


On Wednesday, January 11, 2023 at 12:08:54 PM UTC+1 Davidiam wrote:

> Hi,
>
> Has anyone found a solution for this?  We are experiencing the same issue 
> with 2.22.5 and storing the session in the db. 
> As a work-around, we have removed the ".isoformat" from the line 1247 of 
> the gluon\globals.py:
>
> modified_datetime=request.now, #.isoformat(),
>
> What would be the impact of our work-around?  If we put isoformat in 
> comment, the modified_datetime will be a string instead of a datetime 
> object.
>
> On Thursday, June 4, 2020 at 6:30:30 AM UTC+2 Seth J wrote:
>
>> Thanks for pointing the function.  But it looks like the error is 
>> happening on the Session insert. See below *query* block:
>>
>>
>>
>>    - Variables
>>    e DataError('22007', '[22007] [Microsoft][ODBC SQL...e from character 
>>    string. (241) (SQLExecDirectW)')
>>    
>> Context
>>
>> locals request session response
>> locals
>> e : DataError('22007', '[22007] [Microsoft][ODBC SQL...e from character 
>> string. (241) (SQLExecDirectW)')
>> fields : [(<pydal.objects.Field object>, '172.20.252.61'), 
>> (<pydal.objects.Field object>, 0), (<pydal.objects.Field object>, 
>> '2020-06-04T00:21:23.665000'), (<pydal.objects.Field object>, 
>> '5258b356-2b72-4a24-8868-710222ac0784'), (<pydal.objects.Field object>, 
>> datetime.datetime(2020, 6, 4, 0, 21, 23, 665000)), (<pydal.objects.Field 
>> object>, 
>> '\x80\x02cgluon.globals\nSession\nq\x01}q\x02U\x05flashq\x03U\x00s\x85Rq\x04.')]
>> query : 'INSERT INTO 
>> "web2py_session_PubView"("client_ip"...FscwpTZXNzaW9uCnEBfXECVQVmbGFzaHEDVQBzhVJxBC4=\');'
>> self : <pydal.adapters.mssql.MSSQL4 object>
>> table :
>> <Table web2py_session_PubView (id, locked, clien...me, modified_datetime, 
>> unique_key, session_data)>
>>
>> On Wednesday, June 3, 2020 at 11:09:28 PM UTC-4, Dave S wrote:
>>>
>>>
>>>
>>> On Wednesday, June 3, 2020 at 2:04:02 PM UTC-7, Seth J wrote:
>>>>
>>>> I am not sure how to view the query sent to MSSQL.  
>>>>
>>>
>>> Does this help/?
>>> <URL:
>>> https://web2py.com/books/default/chapter/29/06/the-database-abstraction-layer#_lastsql
>>> >
>>>
>>>
>>>  
>>>
>>>> Here's a little more from the error record:
>>>>
>>>>
>>>>    - 
>>>>    
>>>>    *File C:\inetpub\wwwroot\gluon\packages\dal\pydal\adapters\base.py 
>>>>    in insert at line 539* code arguments variables
>>>>    Function argument list
>>>>    
>>>>    (self=<pydal.adapters.mssql.MSSQL4 object>, table=<Table 
>>>>    web2py_session_PubView (id, locked, clien...me, modified_datetime, 
>>>>    unique_key, session_data)>, fields=[(<pydal.objects.Field object>, 
>>>>    '172.20.145.208'), (<pydal.objects.Field object>, 0), 
>>>> (<pydal.objects.Field 
>>>>    object>, '2020-06-03T00:26:05.296000'), (<pydal.objects.Field object>, 
>>>>    'affc9c47-0085-45dc-8352-12549c7f93dc'), (<pydal.objects.Field object>, 
>>>>    datetime.datetime(2020, 6, 3, 0, 26, 5, 296000)), (<pydal.objects.Field 
>>>>    object>, 
>>>>    
>>>> '\x80\x02cgluon.globals\nSession\nq\x01}q\x02U\x05flashq\x03U\x00s\x85Rq\x04.')])
>>>>    
>>>>
>>> You've got a date conversion error.  Do you need to specify a format 
>>> string?  Is the ISO 'T' causing problems with a format that expects a 
>>> space?  How have you defined the field?
>>>
>>> /dps
>>>  
>>>
>>

-- 
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 web2py+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/web2py/d0e07c9d-2cde-4b34-81a3-3e4160f4cf78n%40googlegroups.com.

Reply via email to