/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Fra image-felt i sqldatabase til fil på se~
Fra : Chrisser


Dato : 13-07-06 11:07

Hej

Er der nogen der ved hvordan jeg kan hente en Tif fil ud af et imagefelt på
min sql-server og så få det gemt som en Tif-fil på min webserver ?
(derefter skal det vises i en tilføjelsesprogram som desværre kun er
filbaseret men den del har jeg styr på hvis jeg bare kan få dannet min
fil )
- jeg har siddet og prøvet forskellige ting uden at få noget brugbart frem
overhovedet - jeg troede det var nemt med en adodb.stream men det er det
åbenbart ikke - jeg kan ikke få det til at fungere..
Jeg prøvede aspsmartuploads fieldToFile men der kan jeg ikke komme uden om
"Save as" dialogen og den skal ikke være der - jeg prøver jo ikke at gemme
på brugerens maskine.....

Nogle forslag - eller kan det ikke lade sig gøre ?


Mvh
Christina



 
 
Michael Weber (13-07-2006)
Kommentar
Fra : Michael Weber


Dato : 13-07-06 13:16


"Chrisser" <cbj@egdatainform.dk> wrote in message
news:44b61b56$0$15787$14726298@news.sunsite.dk...
> Hej
>
> Er der nogen der ved hvordan jeg kan hente en Tif fil ud af et imagefelt

> min sql-server og så få det gemt som en Tif-fil på min webserver ?
> (derefter skal det vises i en tilføjelsesprogram som desværre kun er
> filbaseret men den del har jeg styr på hvis jeg bare kan få dannet min
> fil )
> - jeg har siddet og prøvet forskellige ting uden at få noget brugbart frem
> overhovedet - jeg troede det var nemt med en adodb.stream men det er det
> åbenbart ikke - jeg kan ikke få det til at fungere..
> Jeg prøvede aspsmartuploads fieldToFile men der kan jeg ikke komme uden om
> "Save as" dialogen og den skal ikke være der - jeg prøver jo ikke at gemme
> på brugerens maskine.....
>
> Nogle forslag - eller kan det ikke lade sig gøre ?
>
>
> Mvh
> Christina
>
>

Alt efter hvad rettigheder du har til databasen, kan du bruge
master..xp_cmdshell til at afvikle bcp til import/export
af filer i databasen.
D.v.s. fil-håndteringen foretages på database-niveau.
Tjek "xp_cmdshell" og "bcp" vedr. switches i SQL Server book online eller i
database-gruppen.

Med venlig hilsen
Michael Weber.






Chrisser (13-07-2006)
Kommentar
Fra : Chrisser


Dato : 13-07-06 14:14

Michael Weber wrote:
>> - jeg har siddet og prøvet forskellige ting uden at få noget
>> brugbart frem overhovedet - jeg troede det var nemt med en
>> adodb.stream men det er det åbenbart ikke - jeg kan ikke få det til
>> at fungere..
>
> Alt efter hvad rettigheder du har til databasen, kan du bruge
> master..xp_cmdshell til at afvikle bcp til import/export
> af filer i databasen.
> D.v.s. fil-håndteringen foretages på database-niveau.
> Tjek "xp_cmdshell" og "bcp" vedr. switches i SQL Server book online
> eller i database-gruppen.

hmm, måske har jeg rettigheder men det skal kunne styres runtime fra asp og
filen skal ligge på webserveren...? Men jeg husker den lige

Noget andet er at jeg for 15 minutter siden fik det til at fungere næsten

- jeg kan streame feltet ned i en fil, men min fil er smadret et sted på
vejen ( kan ikke længere genkendes som noget som helst ), som jeg nævte er
det en Tif.fil - er det er problem ?

Min kode ( hvis nogen skulle have en idé til hvad pokker der sker:
<%
Dim adoCmd 'As ADODB.Command
Dim adoStreamQuery ' As ADODB.Stream
Dim outStrm ' As ADODB.Stream
Dim txtResults ' String for results
dim CmdStream ' as ADODB.Stream


sConn = "Provider=SQLOLEDB;Data Source=.;Initial
Catalog=xxxxxxxxxx;uid=xxx;pwd=xxxxx"
Set adoConn = CreateObject("ADODB.Connection")

adoConn.ConnectionString = sConn
adoConn.Open

Set adoStreamQuery = CreateObject("ADODB.Stream")
Set adoCmd = CreateObject("ADODB.Command")
set adoCmd.ActiveConnection = adoConn

adoConn.CursorLocation = adUseClient
Set adoCmd.ActiveConnection = adoConn

adoCmd.CommandText ="Select Tiff from filer Where nr =62 "

adoStreamQuery.Open ' Open the command
stream so it may be written to
' adoStreamQuery.WriteText sQuery, adWriteChar ' Set the input
command stream's text with the query string
' adoStreamQuery.Position = 0 ' Reset the position
in the stream, otherwise it will be at EOS

'Set adoCmd.CommandStream = adoStreamQuery ' Set the command
object's command to the input stream set above
Set outStrm = CreateObject("ADODB.Stream") ' Create the output
stream
outStrm.Open
adoCmd.Properties("Output Stream") = outStrm ' Set command's output
stream to the output stream just opened
adoCmd.Execute , , adExecuteStream ' Execute the command,
thus filling up the output stream.

outStrm.SaveToFile Server.mappath("../Flette_dok")&"\testNYNY.tif"
%>



Michael Weber (13-07-2006)
Kommentar
Fra : Michael Weber


Dato : 13-07-06 14:31


"Chrisser" <cbj@egdatainform.dk> wrote in message
news:44b64741$0$15784$14726298@news.sunsite.dk...
> Michael Weber wrote:
> >> - jeg har siddet og prøvet forskellige ting uden at få noget
> >> brugbart frem overhovedet - jeg troede det var nemt med en
> >> adodb.stream men det er det åbenbart ikke - jeg kan ikke få det til
> >> at fungere..
> >
> > Alt efter hvad rettigheder du har til databasen, kan du bruge
> > master..xp_cmdshell til at afvikle bcp til import/export
> > af filer i databasen.
> > D.v.s. fil-håndteringen foretages på database-niveau.
> > Tjek "xp_cmdshell" og "bcp" vedr. switches i SQL Server book online
> > eller i database-gruppen.
>
> hmm, måske har jeg rettigheder men det skal kunne styres runtime fra asp
og
> filen skal ligge på webserveren...? Men jeg husker den lige
>
> Noget andet er at jeg for 15 minutter siden fik det til at fungere næsten
>
> - jeg kan streame feltet ned i en fil, men min fil er smadret et sted på
> vejen ( kan ikke længere genkendes som noget som helst ), som jeg nævte er
> det en Tif.fil - er det er problem ?
>
> Min kode ( hvis nogen skulle have en idé til hvad pokker der sker:
> <%
> Dim adoCmd 'As ADODB.Command
> Dim adoStreamQuery ' As ADODB.Stream
> Dim outStrm ' As ADODB.Stream
> Dim txtResults ' String for results
> dim CmdStream ' as ADODB.Stream
>
>
> sConn = "Provider=SQLOLEDB;Data Source=.;Initial
> Catalog=xxxxxxxxxx;uid=xxx;pwd=xxxxx"
> Set adoConn = CreateObject("ADODB.Connection")
>
> adoConn.ConnectionString = sConn
> adoConn.Open
>
> Set adoStreamQuery = CreateObject("ADODB.Stream")
> Set adoCmd = CreateObject("ADODB.Command")
> set adoCmd.ActiveConnection = adoConn
>
> adoConn.CursorLocation = adUseClient
> Set adoCmd.ActiveConnection = adoConn
>
> adoCmd.CommandText ="Select Tiff from filer Where nr =62 "
>
> adoStreamQuery.Open ' Open the command
> stream so it may be written to
> ' adoStreamQuery.WriteText sQuery, adWriteChar ' Set the input
> command stream's text with the query string
> ' adoStreamQuery.Position = 0 ' Reset the
position
> in the stream, otherwise it will be at EOS
>
> 'Set adoCmd.CommandStream = adoStreamQuery ' Set the command
> object's command to the input stream set above
> Set outStrm = CreateObject("ADODB.Stream") ' Create the output
> stream
> outStrm.Open
> adoCmd.Properties("Output Stream") = outStrm ' Set command's
output
> stream to the output stream just opened
> adoCmd.Execute , , adExecuteStream ' Execute the
command,
> thus filling up the output stream.
>
> outStrm.SaveToFile Server.mappath("../Flette_dok")&"\testNYNY.tif"
> %>
>
>

Tror det er "Type" den er gal med.
Måske den gemmer det som datatypen Text men skal gemme det som datatypen
Binary data ?
(Text er default typen)

noget á la;
outStrm.Type = 1

tjek :
http://www.w3schools.com/ado/prop_stream_type.asp

Med venlig hilsen
Michael Weber




Chrisser (13-07-2006)
Kommentar
Fra : Chrisser


Dato : 13-07-06 14:41

Michael Weber wrote:
> Tror det er "Type" den er gal med.
> Måske den gemmer det som datatypen Text men skal gemme det som
> datatypen Binary data ?
> (Text er default typen)
>
> noget á la;
> outStrm.Type = 1
>
> tjek :
> http://www.w3schools.com/ado/prop_stream_type.asp


HEj.

I min ADO bog står at når det gælder binære data så ændret den selv typen,
men jeg kan da prøve alligevel - man ved jo aldrig
- nu har jeg så prøvet - det virker ikke, desværre...



Michael Weber (13-07-2006)
Kommentar
Fra : Michael Weber


Dato : 13-07-06 15:01


"Chrisser" <cbj@egdatainform.dk> wrote in message
news:44b64d7d$0$15782$14726298@news.sunsite.dk...
> Michael Weber wrote:
> > Tror det er "Type" den er gal med.
> > Måske den gemmer det som datatypen Text men skal gemme det som
> > datatypen Binary data ?
> > (Text er default typen)
> >
> > noget á la;
> > outStrm.Type = 1
> >
> > tjek :
> > http://www.w3schools.com/ado/prop_stream_type.asp
>
>
> HEj.
>
> I min ADO bog står at når det gælder binære data så ændret den selv typen,
> men jeg kan da prøve alligevel - man ved jo aldrig
> - nu har jeg så prøvet - det virker ikke, desværre...
>
>

Måske (i din kode):

adoStreamQuery.WriteText
http://www.w3schools.com/ado/met_stream_writetext.asp

skulle være :

adoStreamQuery.Write
http://www.w3schools.com/ado/met_stream_write.asp


http://www.w3schools.com/ado/ado_ref_stream.asp

Med venlig hilsen
Michael Weber



Michael Weber (13-07-2006)
Kommentar
Fra : Michael Weber


Dato : 13-07-06 16:22


"Michael Weber" <michael@FJERNmichaelweber.dk> wrote in message
news:44b65217$0$3521$edfadb0f@dread11.news.tele.dk...
>
> "Chrisser" <cbj@egdatainform.dk> wrote in message
> news:44b64d7d$0$15782$14726298@news.sunsite.dk...
> > Michael Weber wrote:
> > > Tror det er "Type" den er gal med.
> > > Måske den gemmer det som datatypen Text men skal gemme det som
> > > datatypen Binary data ?
> > > (Text er default typen)
> > >
> > > noget á la;
> > > outStrm.Type = 1
> > >
> > > tjek :
> > > http://www.w3schools.com/ado/prop_stream_type.asp
> >
> >
> > HEj.
> >
> > I min ADO bog står at når det gælder binære data så ændret den selv
typen,
> > men jeg kan da prøve alligevel - man ved jo aldrig
> > - nu har jeg så prøvet - det virker ikke, desværre...
> >
> >
>
> Måske (i din kode):
>
> adoStreamQuery.WriteText
> http://www.w3schools.com/ado/met_stream_writetext.asp
>
> skulle være :
>
> adoStreamQuery.Write
> http://www.w3schools.com/ado/met_stream_write.asp
>
>
> http://www.w3schools.com/ado/ado_ref_stream.asp
>
> Med venlig hilsen
> Michael Weber
>
>

<%
Dim cn
Dim rs
Dim mstream

Set cn = CreateObject("ADODB.Connection")
cn.Open "Provider=SQLOLEDB;data Source=ServerNavn; Initial Catalog=xx;User
Id=xx;Password=xx"

Set rs = CreateObject("ADODB.Recordset")
rs.Open "Select Tiff from filer Where nr =62 ", cn

Set mstream = CreateObject("ADODB.Stream")
mstream.Type = 1

mstream.Open
mstream.Write rs.Fields("Tiff").Value
mstream.SaveToFile Server.mappath("../Flette_dok")&"\testNYNY.tif" , 2

rs.Close
cn.Close
%>



Chrisser (14-07-2006)
Kommentar
Fra : Chrisser


Dato : 14-07-06 07:09

Michael Weber wrote:
> <%
> Dim cn
> Dim rs
> Dim mstream
>
> Set cn = CreateObject("ADODB.Connection")
> cn.Open "Provider=SQLOLEDB;data Source=ServerNavn; Initial
> Catalog=xx;User Id=xx;Password=xx"
>
> Set rs = CreateObject("ADODB.Recordset")
> rs.Open "Select Tiff from filer Where nr =62 ", cn
>
> Set mstream = CreateObject("ADODB.Stream")
> mstream.Type = 1
>
> mstream.Open
> mstream.Write rs.Fields("Tiff").Value
> mstream.SaveToFile Server.mappath("../Flette_dok")&"\testNYNY.tif" , 2
>
> rs.Close
> cn.Close
> %>

Ved du hvad - det virker - tusind tak - jeg havde ellers prøvet lidt på
samme måde men fik det ikke til at virke

Med dybt taknemmelig hilsen
Christina



Chrisser (14-07-2006)
Kommentar
Fra : Chrisser


Dato : 14-07-06 07:04

Michael Weber wrote:
>
> Måske (i din kode):
>
> adoStreamQuery.WriteText
> http://www.w3schools.com/ado/met_stream_writetext.asp
>
> skulle være :
>
> adoStreamQuery.Write
> http://www.w3schools.com/ado/met_stream_write.asp

Den var kommenteret ud



Søg
Reklame
Statistik
Spørgsmål : 177551
Tips : 31968
Nyheder : 719565
Indlæg : 6408843
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste