FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
SQL Server. Tablas temporales. Diferencias entre ZEOS y ADO
Buenas a todos,
Estoy intentando crear una tabla temporal desde Delphi con un componente TZQuery, la instrucción SQL quedaria así:
A este componente le hago un Execsql. Has aqui todo bien. En otro componente TZQuery lanzo la siguiente consulta:
Al hacer el open de este segundo TZQuery, me salta un error que dice que el objeto #TABLA_PRUEBA no existe. Si hago lo mismo pero sustituyendo los componentes ZEOS por ADO funciona correctamente. Pienso que hay algún parametro de configuración, en el componente TZConnection de ZEOS, que hace que la conexión se reinicie después de lanzar la primera query, por lo que la tabla temporal desaparece. ¿Alguien que pueda arrojar luz sobre la configuración de ZEOS? Mi entorno es Delphi 2010 con MSSql Server 12. Version de ZEOS 7.1.4-stable Un saludo! |
#2
|
|||
|
|||
Hola elliotduvorov
He estado probando lo que comentas y ciertamente también me hace lo mismo que dices, Aunque en tu caso al estar ambos componentes enganchados con la misma conexión, si existiera la tabla en teoría deberían de verse... En tu caso en particular ten en cuenta que estas creando una tabla temporal local (prefijo '#'), que solo tiene validez dentro de la conexión donde la creas y no la pueden ver el resto de conexiones, y que cuando se deja de usar, automaticamente MSSQL la elimina, que creo que es lo que en realidad esta pasando, se crea se inserta el registro y al finalizar la propia consulta el motor la elimina. Yo como solución que he encontrado es crear la tabla desde el componente zConnection y entonces ya si funciona bien:
Espero te sirva Un saludo |
#3
|
|||
|
|||
Gracias por tu respuesta Bucanero,
Esta mañana he llegado a la misma solucion que comentas. He puesto la creacion de la tabla temporal tanto en el AfterConnect, como el en AfterReconnect, del componente TZConnection Despues de darle muchas vueltas, he llegado a la conclusion, que la conexion se abre y cierra en cada consulta lanzada. Tampoco he conseguido averiguar si es posible cambiar este comportamiento. Lo dicho muchas gracias por tu respuesta. Un saludo. |
#4
|
||||
|
||||
Hola elliotduvorov,
Revisa aquí para hacerte una mejor perspectiva de como funciona una tabla temporal. Un saludo.
__________________
Al hacer una consulta SQL, haz que los demás te entiendan y disfruten de ella, será tú reflejo de tú saber. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Consulta entre 2 tablas de diferentes bd de sql server | comba | MS SQL Server | 4 | 24-05-2016 01:49:52 |
Relacion entre tablas sql server 2000 | compualarma | SQL | 2 | 23-03-2009 19:38:01 |
Relacion entre tablas sql server 2000 | compualarma | Conexión con bases de datos | 0 | 23-03-2009 05:26:02 |
Diferencias entre AGP y PCI | JoAnCa | Varios | 3 | 03-09-2008 19:40:16 |
Filtros en tablas. Diferencias entre SQL 87 y 92 | dec | Trucos | 0 | 01-07-2006 03:00:23 |
|