Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 06-12-2006
lsg lsg is offline
Miembro
 
Registrado: jul 2006
Posts: 24
Poder: 0
lsg Va por buen camino
Views - SQL Express - ClientDataset

Hola.

Tengo una aplicacion con Delphi 7.

Uso TAdoConnection, TAdo_Query + TdatasetProvider + TClientDataset.

Es decir. NestedDatasets.

Resulta que mi base de datos es (o era) SQL server 2000.

Probando Windows Vista, (ya que el mismo no soporta SQL 2000), instalé SQL Express.

Bien, la aplicacion con la base de datos funciona bien, salvo en un caso, que quiero consultarles si saben como solucionarlo.

Hay un caso especifico, donde armo una tabla virtual mediante un VIEW, ya que su estructura es cambiante. No hay manera de manejar una tabla real. Varian los campos en cantidad y tipo dependiendo el caso.

Por lo cual en runtime creo una VIEW que me arma esta tabla virtual.

Sobre ella, haciendole un select por CommandText del ClientDataset, siempre podia trabajar, es decir, trabajarla en grillas, modificar sus datos., aunque nunca haciendo ApplyUpdates. pero si Post sobre el dataset.

Ahora me encuentro en Windows Vista con que (aparentemente, esta es mi deduccion), las VIEWS en SQL Espress, serian read-only. Ya que no me permite hacer post sobre el clientdataset.

Me dice "... raised exception class EDBClient with message "Trying to modify Read-Only field."

Alguien sabe si se puede solucionar esto de alguna manera ?

Yo creo que lo que esta pasando es que el client dataset esta enviando "updates" a la view. Y con SQL 2000 no habia problema, pero con SQL Express parece que si.

Espero su ayuda.

Gracias
Responder Con Cita
  #2  
Antiguo 06-12-2006
nachoalbano nachoalbano is offline
Miembro
 
Registrado: sep 2006
Posts: 19
Poder: 0
nachoalbano Va por buen camino
Puede ser un tema de permisos

Buenas, leyendo tu consulta, se me ocurre que quizas el error no lo tengas del lado de delphi, sino del motor. Fijate que las vistas tengan permisos de escritura, quizá (esto no lo se) por defecto el SQL Express no trae la opción de escrituras de datos.

Por otro lado, haciendo doble click sobre los componentes TADOClientDataSet y TADOQuery se te listan los campos que devuelve la consulta. Quizás en alguno de ellos te quedó la propiedad de readonly en true.

No se me ocurren más cosas que puedan ser. Espero que te sirva
Responder Con Cita
  #3  
Antiguo 07-12-2006
lsg lsg is offline
Miembro
 
Registrado: jul 2006
Posts: 24
Poder: 0
lsg Va por buen camino
Gracias por tu respuesta.

He corroborado ya lo que tu dices, y los persistent fields no estan en read only. Por eso, en la grilla puedo editar los datos, pero no puedo hacer un post, ya que alli es cuando el error aparece.


Voy a seguir investigando.

Igualmente, si alguien puede arme alguna sugerencia o solucion, lo agradezco.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
MS SQL Express Carlos Hurtado MS SQL Server 2 28-08-2006 11:05:40
InstallShield Express 4 Pandre Varios 10 29-12-2005 19:26:58
views en InterBase Gabriel2 Firebird e Interbase 2 26-10-2005 22:15:13
Too many Contexts f Relation/Procedure/Views. Maximum allowed is 127 xcostey Firebird e Interbase 0 26-05-2005 16:30:50
Soporte de Inline Views en Firebird senpiterno Firebird e Interbase 0 27-12-2004 20:18:43


La franja horaria es GMT +2. Ahora son las 14:10:30.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi