Frage : Binärer Gegenstand-Strom (pdf)

Wir haben den folgenden Code, der einen binären Gegenstand von einer MSSQL Datenbank liest und zum Benutzer überträgt.  Er arbeitet an den meisten Computern in FireFox und in Internet Explorer.  Jedoch arbeitet er nicht an dem System des Benutzers, dass dieses für entworfen.  Auf diesem System angezeigt ASCII-Buchstaben auf dem Schirm.  Andere Web site mit Verbindungen zur PDFs Arbeit fein auf ihrem system.

Here ist der Code, den wir verwenden:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
Response.ContentType = „Anwendung/pdf“
	
	'Variable Erklärung
	Schwaches objStream
	Schwache Ordner, fileSQL
	Const adTypeBinary = 1
	
	fileSQL = „AUSERWÄHLTER Dateiname, fileData von den tblAuditDocs WO tblAuditDocs.auditDocID =“ + fileID
	Ordner = Server.CreateObject („ADODB.Recordset“) einstellen
	fileRS.Open fileSQL, oConn, 1.1.1
	
	Wenn nicht (fileRS.EOF) dann
		Response.ContentType = „Anwendung/pdf“
		
		objStream = Server.CreateObject („ADODB.Stream“) einstellen 
		objStream.Open 
		objStream.Type = adTypeBinary
		objStream.Write Ordner („fileData“) .value
		
		'WICHTIG:  Muss Position zu Beginn des Stromes einstellen
		objStream.Position = 0
		
		Response.BinaryWrite objStream.Read
		'Response.End
		objStream einstellen = nichts
	Beenden wenn
	
	fileRS.Close
	Ordner = Nothing


Here der Anfang des Ausganges zum Schirm ist:
%PDF- 1.5% âãÏÓ 1 0 obj<> endobj 2 0 obj<> endobj 3 0 obj<> endobj 4 0 obj<> endobj 5 0 obj<>/ProcSet [/PDF/ImageB/Text] >> endobj 6 0 obj<<< CCITTFaxDecode] Filter [258524>>] /Width 2560/Height 3256/BitsPerComponent 1/ColorSpace/DeviceGray/Type/XObject/Subtype/Image>>stream ÿÿÿÿÿÿå“ GÿÿÿÿÿÿÿÿÿÿÿÿÿþW ê¢m FÚEÑ Eñ•Î ‹DDŒ È+ðrpAg p ‚K $ Ê 1) Ô ":  í `Ѭ™, „8© Ä \ ein èRH M… a, P „6 Ç (p@… ¥ A „¢Ä9' š Ž!  Ø“ 9C „ÈϤ † ¡ 8á Pi$Ð " >ì FÂ# #èà @YI `º#¤U Š“
xE9 ‡ ÕŠ6˜° ‚Š Z (p ‚dv) Í `% A
‚#¤ ŽM¢ ‡ eÐ! ) ÷ 6! „ •2, @¢; t Q (p@' H*A `à ‚ein ‡ Ä#h " œ ¡ Ø4Š œFÊ „>Ä! r ‡ Á ˆätGP à ‚L `±ôS „M9t § (r ‡ Papierlösekorotron ¡ Á Œº ¡ A ÒDu I$ ô ‚@! çò:  „L (Ž Ð$' ein úH$ ‡ 0å
) # Tš, p QC“ 8“:  Çé (H$ËΜ ØH $Œ8 B! „ûE
M$ „ˆD~! ¡ ù ¤ W „‚# E
¼ Á, - œHã“ 8A4 ¤Ò* * (qXI+ ‚) Á V˜@ ‚#

Antwort : Binärer Gegenstand-Strom (pdf)

oh mein Freund, benutzen Sie Text datatype. Das ist nicht gut. sind Sie verwendenSQL 2005? Wenn ja dann dränge ich Sie, ihn zu varchar zu ändern (maximal) um zukünftig zu vermeiden Lose Mühe. Wenn Sie SQL 2000 verwenden, dann varchar endgültig betrachten (8000). Mittlerweile können wir mit „wie“ Operator versuchen anstatt

1:
2:
3:
a.* vorwählen 
von Zahlung a
inner notesTEST b auf anschließen a.id = b.CUSTOMER_id und dateadd (d, datediff (d, 0, A. [Datum]), 0) >= dateadd (d, datediff (d, 0, B. [Datum]), 0) und b.notes wie „%“ + geworfen (ABS (A.value) wie varchar) + „%“
Weitere Lösungen  
 
programming4us programming4us