FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
script sql insert into (campo blob)
Hola, he estado buscando, y no he encontrado, algo que necesito hacer, no sé si la edad me nubla la mente o es el calor que hace, pero no lo consigo, me explico:
Lo necesito en un script sql donde se crea una base de datos, sus dominios, generadores, tablas, procedimentos almacenados, triggers y... datos predeterminados. Pues bien, en el script quiero insertar una serie de ficheros, son informes, y no encuentro la forma de hacerlo, sería algo así como:
El 'blob_load' sería lo que estoy buscando, suponiendo que exista algo así. También me valdría hacerlo mediante un 'store procedure'. Gracias por los consejos, que vuestro Dios os lo pague con mucha buena salud, que nunca os falte 50 euros en el bolsillo y que tengáis amor para dar y regalar |
#2
|
||||
|
||||
No tengo tiempo, para mirarlo, pero echalo un ojo por si te puede servir de base.
Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
#3
|
||||
|
||||
Gracias
Ha salido un poco "descuadrado", pero creo que es esto: Código:
string database = "test.fdb"; CreateEmbeddedDb(database, "test.sql"); FbConnectionStringBuilder csb = new FbConnectionStringBuilder(); csb.ServerType = 1; csb.Database = database; using (FbConnection c = new FbConnection(csb.ToString())) { c.Open(); FbCommand cmdInsert = new FbCommand("INSERT INTO mytable(id, val) VALUES(@id, @val)", c); cmdInsert.Parameters.Add("@id", 1); cmdInsert.Parameters.Add("@val", new byte[] {1, 2, 3}); cmdInsert.ExecuteNonQuery(); FbCommand cmd = new FbCommand("SELECT val FROM mytable", c); using (FbDataReader r = cmd.ExecuteReader()) { while (r.Read()) { int size = 20; byte[] bytes = new byte[size]; long count = r.GetBytes(0, 0, bytes, 0, size); for(int i = 0; i < count; i++) Console.WriteLine("Value: " + bytes[i]); } } } Cita:
|
#4
|
||||
|
||||
Hola Casimiro.
Utilizando los scripts de IB-Experts puedes hacerlo tal y como propones. El problema es que después ese script solo lo va a reconocer el mismo IB-Expert o la utilidad de línea de comandos IBEscript.exe, también de ellos (esto último es lo que utilizo yo). La única alternativa que se me ocurre es que utilices una UDF de las que incorporan esta función blob_load (o similar). No me gusta depender de UDF's de terceros, pero no parece que haya muchas más soluciones. http://www.ibphoenix.com/download/tools/udf#59
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no). |
#5
|
||||
|
||||
¿Y cómo lo haces con los scripts de ibexpert?, realmente me viene bien porque es sólo para yo cargar los informes en la BD, no tienen que usarlo luego los clientes. Es para mí.
Porque meter UDFs no me fio, porque luego los servidores van siempre en distintos versiones de linux y vaya a encontrar algún problema inesperado. |
#6
|
||||
|
||||
Aquí tienes un ejemplo en los scripts avanzados de IBExpert :
http://www.ibexpert.net/ibe/index.ph...sIntoADatabase SET BLOBFILE 'C:\f.jpg'; INSERT INTO ... VALUES (..., :h00000000_FFFFFFFF); SET BLOBFILE 'C:\f2.jpg'; INSERT INTO ... VALUES (..., :h00000000_FFFFFFFF); SET BLOBFILE 'C:\f3.jpg'; INSERT INTO ... VALUES (..., :h00000000_FFFFFFFF); Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no). |
#7
|
||||
|
||||
Te entiendo perfectamente, yo tampoco utilizo ninguna UDF de terceros (e incluso de las UDF's propias de Firebird, recurro a ellas lo mínimo posible, básicamente solo cuando hago procesos de importación de datos).
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no). |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
error insert con campo incremental | arefolio | SQL | 5 | 06-08-2008 12:46:02 |
Formatear BLOB en Insert | jlcasih | Firebird e Interbase | 1 | 10-05-2006 20:20:17 |
Problema con insert y campo float | Ivanzinho | SQL | 4 | 22-06-2005 10:07:22 |
campo blob | acertij022 | Conexión con bases de datos | 1 | 19-08-2004 00:10:32 |
|