GJ
Erro ao tentar efetuar logout no template de ERP com sqlserver
Olá.
Estou usando o template de ERP com SQL Server.
Ao tentar sair (logout), aparece o seguinte erro:
Fatal error: Uncaught PDOException: SQLSTATE[42000]: [Microsoft][ODBC Driver 11 for SQL Server][SQL Server]The data types text and varchar are incompatible in the equal to operator. in C:AdiantiGsicontrollibadiantidatabaseTRepository.php:185Stack trace:#0 C:AdiantiGsicontrollibadiantidatabaseTRepository.php(185): PDO->query('SELECT * FROM s...')#1 C:AdiantiGsicontrolappmodellogSystemAccessLog.class.php(46): AdiantiDatabaseTRepository->load()#2 C:AdiantiGsicontrolappcontroladminLoginForm.class.php(174): SystemAccessLog::registerLogout()#3 [internal function]: LoginForm::onLogout(Array)#4 C:AdiantiGsicontrollibadianticoreAdiantiCoreApplication.php(49): call_user_func(Array, Array)#5 C:AdiantiGsicontrolengine.php(32): AdiantiCoreAdiantiCoreApplication::run(true)#6 C:AdiantiGsicontrolengine.php(51): TApplication::run(true)#7 {main} thrown in C:AdiantiGsicontrollibadiantidatabaseTRepository.php on line 185
Acredito que seja porque no script de criação das tabelas que vem no projeto, os campos de string estão como tipo TEXT e o sqlserver trata esse tipo como blob e por isso dá o erro de conversão de tipos.
Alguém já passou por isso e tem a solução ? Quais campos tenho que mudar nas tabelas de log e qual o tamanho correto, a fim de mudar o tipo text para varchar ????
Estou usando o template de ERP com SQL Server.
Ao tentar sair (logout), aparece o seguinte erro:
Fatal error: Uncaught PDOException: SQLSTATE[42000]: [Microsoft][ODBC Driver 11 for SQL Server][SQL Server]The data types text and varchar are incompatible in the equal to operator. in C:AdiantiGsicontrollibadiantidatabaseTRepository.php:185Stack trace:#0 C:AdiantiGsicontrollibadiantidatabaseTRepository.php(185): PDO->query('SELECT * FROM s...')#1 C:AdiantiGsicontrolappmodellogSystemAccessLog.class.php(46): AdiantiDatabaseTRepository->load()#2 C:AdiantiGsicontrolappcontroladminLoginForm.class.php(174): SystemAccessLog::registerLogout()#3 [internal function]: LoginForm::onLogout(Array)#4 C:AdiantiGsicontrollibadianticoreAdiantiCoreApplication.php(49): call_user_func(Array, Array)#5 C:AdiantiGsicontrolengine.php(32): AdiantiCoreAdiantiCoreApplication::run(true)#6 C:AdiantiGsicontrolengine.php(51): TApplication::run(true)#7 {main} thrown in C:AdiantiGsicontrollibadiantidatabaseTRepository.php on line 185
Acredito que seja porque no script de criação das tabelas que vem no projeto, os campos de string estão como tipo TEXT e o sqlserver trata esse tipo como blob e por isso dá o erro de conversão de tipos.
Alguém já passou por isso e tem a solução ? Quais campos tenho que mudar nas tabelas de log e qual o tamanho correto, a fim de mudar o tipo text para varchar ????
Insistindo pra resolver o problema, encontrei uma solução que funcionou. Não sei se vai dar problema em outro canto.
Mudei a coluna sessionid da tabela system_access_log de TEXT para VARCHAR(100).
Por enquanto está funcionando.