Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Insert Blob (C# && Interbase)

[es] :: .NET :: .NET Desktop razvoj :: Insert Blob (C# && Interbase)

[ Pregleda: 6497 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

nervozica
Novi Beograd

Član broj: 18671
Poruke: 77
195.252.126.*



Profil

icon Insert Blob (C# && Interbase)30.04.2004. u 12:01 - pre 242 meseci
Kako upucati image iz C# u blob polje (Interbase)?
Djankam se, kuzish.
 
Odgovor na temu

degojs

Član broj: 4716
Poruke: 5096



+51 Profil

icon Re: Insert Blob (C# && Interbase)30.04.2004. u 12:39 - pre 242 meseci
.NET provajder za Firebird SQL (verovatno može da se koristi i za InterBase) dolazi sa nekim primerima, a jedan od njih je "UpdateClobField". E sad, za sliku bi trebalo verovatno promeniti SUB_TYPE 1 u 0 (a polje u bazi isto da bude BLOB SUB_TYPE 0), a kao parametar proslediti niz bajtova.

Code:

/*
 * This example show how to update a text blob field
 * using FbCommand class of the Firebird .NET Data Provider.
 * 
 * Added:
 * 
 *        28/02/2003
 */

using System;
using System.IO;
using System.Data;
using System.Xml;

using FirebirdSql.Data.Firebird;

namespace FirebirdSql.Data.Firebird.Examples
{
    public class UpdateClobFieldExample
    {   
        public static void Main(string[] args)
        {
            string connectionString =
                "User=SYSDBA;"                    +
                "Password=masterkey;"            +
                "Database=SampleDatabase.fdb;"    +
                "DataSource=localhost;"            +
                "Port=3050;"                    +
                "Dialect=3;"                    +
                "Charset=NONE;"                    +
                "Role=;"                        +
                "Connection lifetime=15;"        +
                "Pooling=true;"                    +
                "Packet Size=8192";

            FbConnection    myConnection    = new FbConnection(connectionString);

            myConnection.Open();

            FbTransaction    myTransaction    = myConnection.BeginTransaction();

            FbCommand myCommand = new FbCommand();

            myCommand.CommandText    = "UPDATE TEST_TABLE_01 SET CLOB_FIELD = @CLOB_FIELD WHERE INT_FIELD = @INT_FIELD";
            myCommand.Connection    = myConnection;
            myCommand.Transaction    = myTransaction;

            myCommand.Parameters.Add("@INT_FIELD", FbType.Integer, "INT_FIELD");
            myCommand.Parameters.Add("@CLOB_FIELD", FbType.Text, "CLOB_FIELD");           

            myCommand.Parameters[0].Value = 1;
            myCommand.Parameters[1].Value = GetFileContents(@"GDS.CS");

            // Execute Update
            myCommand.ExecuteNonQuery();

            // Commit changes
            myTransaction.Commit();

            // Free command resources in Firebird Server
            myCommand.Dispose();

            // Close connection
            myConnection.Close();
        }

        public static string GetFileContents(string fileName)
        {
            StreamReader reader = new StreamReader(new FileStream(fileName, FileMode.Open));

            string contents = reader.ReadToEnd();

            reader.Close();

            return contents;
        }
    }
}


[Ovu poruku je menjao degojs dana 30.04.2004. u 08:47 GMT]
Commercial-Free !!!
 
Odgovor na temu

degojs

Član broj: 4716
Poruke: 5096



+51 Profil

icon Re: Insert Blob (C# && Interbase)30.04.2004. u 12:45 - pre 242 meseci
A još pogledaj i ovaj primer ovde..

http://www.dotnetspider.com/Te...ewQuestion.aspx?QuestionId=117

i u kombinaciji sa onim gore, trebalo bi da proradi :)
Commercial-Free !!!
 
Odgovor na temu

nervozica
Novi Beograd

Član broj: 18671
Poruke: 77
195.252.126.*



Profil

icon Re: Insert Blob (C# && Interbase)30.04.2004. u 16:04 - pre 242 meseci
Hvala na hintovima. To je odradjeno, ali nastaje novi problem :)

Evo malo detalja.
error koji ispucava:Dynamic SQL Error SQL error code = -901 feature is not supported.

Kada se kacim na bazu u lokalu, radi bez ikakvih problema.

Problem nastaje kada u connstring stavim "imeservera:C:\baza\baza.gdb" (ovo je sve radilo dok je bio PHP). Source se nalazi na jednom kompu a baza na drugom.

Site je inace namenjen za pracenje bugova, unos novih itd.
Djankam se, kuzish.
 
Odgovor na temu

degojs

Član broj: 4716
Poruke: 5096



+51 Profil

icon Re: Insert Blob (C# && Interbase)01.05.2004. u 12:34 - pre 242 meseci
Citat:
Source se nalazi na jednom kompu a baza na drugom.


Ovo nije bug nego feature :)

Firebird SQL server ne radi dobro ako se baza ne nalazi na istoj mašini kao i Firebird SQL server. Nisam siguran kako stvari stoje sa InterBase, ali velike su šanse da je isto.

Koliko je meni poznato, za server treba da staviš ime servera (ili IP adresu), a baza onda mora biti na lokalnom disku na tom istom serveru. Putanja do GDB fajla je dakle putanja na serveru.

Citat:

If you move the sample database, be sure you move it to a hard disk that is physically attached to your server machine.


Odnosno pitanje je: da li je baza (GDB fajl) na istom kompjuteru gde i InterBase server?

Druga stvar, koliko vidim u primeru gore, server i lokacija (full path) baze se navode odvojeno u connection stringu (ako koristiš .NET provajder). Ali pošto kažeš da radi OK u lokalu, onda je verovatno ono gore. Mada, ako je radilo sa PHP.. lokalno ili ne?

...
"Database=C:\FB\SampleDatabase.fdb;" + // full path na serveru!
"DataSource=192.168.0.10;" + // server
...
Commercial-Free !!!
 
Odgovor na temu

nervozica
Novi Beograd

Član broj: 18671
Poruke: 77
195.252.126.*



Profil

icon Re: Insert Blob (C# && Interbase)03.05.2004. u 08:31 - pre 242 meseci
khm bio sam malo skrt na recima. Poruku ispucava pri pokusaju da izvrsi executereader, pre toga uredno otvori konekciju. Tako da cu tvoj odgovor
Citat:

Firebird SQL server ne radi dobro ako se baza ne nalazi na istoj mašini kao i Firebird SQL server. Nisam siguran kako stvari stoje sa InterBase, ali velike su šanse da je isto.

prihvatiti zdravo za gotovo :)
Djankam se, kuzish.
 
Odgovor na temu

[es] :: .NET :: .NET Desktop razvoj :: Insert Blob (C# && Interbase)

[ Pregleda: 6497 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.