Clarion y SQL (V)

SQL, mySQL, postgreSQL y otros motores
Responder
Avatar de Usuario
Mauricio
Desarrollador de Clarion
Mensajes: 1125
Registrado: Dom Feb 06, 2011 9:34 am
Ubicación: España
Contactar:

Clarion y SQL (V)

Mensaje por Mauricio » Mar Ago 23, 2011 1:21 pm

Ya creamos 2 tablas en SQL y las relacionamos. Ahora vamos a importarlas a un nuevo diccionario de Clarion, usando para eso el Synchronizer. En este punto vale hacer una aclaración, hay que tener cuidado con esta herramienta porque no suele funcionar todo lo bien que debería. Si el número de tablas a importar es muy grande lo más probable es que se cuelgue y tengamos que volver a empezar con la sincronización, haciendo que nos acordemos de todos los desarrolladores de Clarion y sus progenitoras. Ya advertidos, vamos a ver cómo utilizarla.
Para ello, lo primero que necesitamos es crear un nuevo diccionario. Luego, abajo, a la izquierda, hay un botón que dice Synchonize, el cual abre un wizard. La ventana es la que vemos a continuación:
Sincronización1.PNG
Seleccionamos nueva sincronización, ya que eso es lo que vamos a hacer. Nos pregunta con qué vamos a sincronizar y, en nuestro caso, lo haremos con SQL.
Sincronización2.PNG
Una vez que ingresamos el nombre del servidor, usuario y password, la siguiente ventana nos pregunta el "sentido" de la sincronización. Esta puede ser desde Clarion a SQL o, en nuestro ejemplo, desde SQL hacia Clarion.
Sincronización3.PNG
Nos traerá el nombre de las tablas que encuentre en el motor, incluida la de los diagramas, que no nos interesa. Verán que si seleccionan CLIENTES y luego clickean sobre la flecha, automáticamente pasará también la tabla FACTURAS dado que estas están relacionadas en el motor.
Sincronización4.PNG
Por último, debemos agregar las tablas, hacemos click derecho sobre Dictionary y seleccionamos la primer opción.
Sincronización5.PNG
Una vez que aceptamos, el proceso se lleva a cabo y, si todo salió bien, volveremos al diccionario de Clarion donde las 2 tablas ya estarán agregadas.
Tómense un tiempo y examinen cómo se llevó a cabo la importación, qué tipo de campo eligió Clarion para los equivalentes en SQL (int pasó a LONG, varchar a CSTRING y datetime a...), cómo seteó los índices y la relación.
La importación no fue perfecta, hay que hacer algunos retoques, particularmente en los campos IDENTITY de SQL. Dado que el valor de esos campos los asignará el motor, para Clarion deber ser de solo lectura y, además, debemos indicarle que se tratan de campos autoincrementales. Para eso, vamos a las propiedades del campo CLI_ID y seteamos lo siguiente:
Sincronización6.PNG
En la solapa de Options agregamos una nueva, asignándole lo que se ve a continuación:
Sincronización7.PNG
Hay que hacer lo mismo con el campo FAC_ID en la tabla FACTURAS.
¿Qué pasa si no ponemos el campo como read-only? En el momento de agregar un registro desde Clarion este intentará pasarle un valor y SQL lo rechazará y nosotros estaremos preguntándonos qué carajo está pasando (y nos volveremos a acordar de las progenitoras de los desarrolladores de Clarion, aunque esta vez no sea culpa de ellos).
Otra cosa a tener en cuenta es el tema de los índices. La opción Case Sensitive debe estar marcada, de lo contrario Clarion enviará un UPPER(Campo) lo que ocasionará que nuestro sistema se ponga excesivamente lento.
No tiene los permisos requeridos para ver los archivos adjuntos a este mensaje.
Mauricio, básicamente usando Clarion 6.3
www.tdcsoftware.com y www.clarioneros.com/blog


LuisMarcantoni
Ayudante de Santa
Mensajes: 86
Registrado: Dom Feb 06, 2011 6:06 pm
Contactar:

Re: Clarion y SQL (V)

Mensaje por LuisMarcantoni » Mar Ago 23, 2011 1:31 pm

Muy bueno tu aporte y dedicación Mauricio.

Siga adelante amigazo, lo valoramos mucho al material y su dedicación.

Muchas gracias

Saludos

Luis

Avatar de Usuario
Mauricio
Desarrollador de Clarion
Mensajes: 1125
Registrado: Dom Feb 06, 2011 9:34 am
Ubicación: España
Contactar:

Re: Clarion y SQL (V)

Mensaje por Mauricio » Mar Ago 23, 2011 1:32 pm

LuisMarcantoni escribió:Muy bueno tu aporte y dedicación Mauricio.

Siga adelante amigazo, lo valoramos mucho al material y su dedicación.

Muchas gracias

Saludos

Luis
Gracias. Y si me equivoco, corríjanme!
Mauricio, básicamente usando Clarion 6.3
www.tdcsoftware.com y www.clarioneros.com/blog

osquiabro
Al nivel de RZ
Mensajes: 179
Registrado: Dom Feb 06, 2011 10:06 pm
Contactar:

Re: Clarion y SQL (V)

Mensaje por osquiabro » Mié Ago 24, 2011 12:26 am

yo nunca he usado el Read Only solo el IsIdentity=True y nunca he tenido problemas con los insert..
Saludos!

Omar Squiabro
Puerto Rico

Avatar de Usuario
Mauricio
Desarrollador de Clarion
Mensajes: 1125
Registrado: Dom Feb 06, 2011 9:34 am
Ubicación: España
Contactar:

Re: Clarion y SQL (V)

Mensaje por Mauricio » Mié Ago 24, 2011 6:44 am

Probablemente tengas razón, Omar. El setear la columna como read-only lo debo haber "heredado" de cuando el IsIdentity no existía.
Mauricio, básicamente usando Clarion 6.3
www.tdcsoftware.com y www.clarioneros.com/blog

osquiabro
Al nivel de RZ
Mensajes: 179
Registrado: Dom Feb 06, 2011 10:06 pm
Contactar:

Re: Clarion y SQL (V)

Mensaje por osquiabro » Mié Ago 24, 2011 10:36 am

el tema esta interesante y productivo a media que vayas añadiendo mas post aportare a ellos ya que lllevo varios años trabajando con clarion y MSSQL y se que aprendere cosas nuevas en el camino.
Saludos!

Omar Squiabro
Puerto Rico


Responder

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 28 invitados