Fråga : Binärt anmärka strömmer (PDF)

Vi har efter kodifiera som läser ett binärt anmärker från en MSSQL-databas och framför till användaren.  Den fungerar på mest datorer i både FireFox och Internet Explorer.  Emellertid den fungerar inte på systemet av användaren att denna planlades för.  På detta system ASCII-tecken visas på avskärma.  Andra websites med anknyter till den PDFs arbetsboten på hennes system.

Here är kodifiera som vi använder: för class=" codeSnippet " för
1 för >

Response.ContentType = ”applikation/pdf”,
	
	'Variabelförklaring
	Dunkel objStream
	Dunkla fileRS, fileSQL
	Const adTypeBinary = 1
	
	fileSQL = ”VALD fileName, fileData FRÅN tblAuditDocs VAR tblAuditDocs.auditDocID =” + fileID
	Fastställda fileRS = Server.CreateObject (”ADODB.Recordset”)
	fileRS.Open-fileSQL, oConn, 1.1.1
	
	Om inte (fileRS.EOF) därefter
		Response.ContentType = ”applikation/pdf”,
		
		Fastställd objStream = Server.CreateObject (”ADODB.Stream”) 
		objStream.Open 
		objStream.Type = adTypeBinary
		objStream.Write-fileRS (”fileDataen”) .value
		
		'VIKTIGT:  Måste uppsättningen placera på början av strömma
		objStream.Position = 0
		
		Response.BinaryWrite objStream.Read
		'Response.End
		Fastställd objStream = ingenting
	Avsluta om
	
	fileRS.Close
	Fastställda fileRS = Nothing<-/pre>


Here är starten av som tillverkas till avskärma: âãÏÓ 1 för
%PDF- 1.5% 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] filtrerar [258524>>] ÿÿÿÿÿÿå” GÿÿÿÿÿÿÿÿÿÿÿÿÿþW för /Width 2560/Height 3256/BitsPerComponent 1/ColorSpace/DeviceGray/Type/XObject/Subtype/Image>>stream ê¢m FÚEÑ Eñ•,‚K $ Ê 1) Ô för Î ‹DDŒ È+ðrpAg p ":  í`Ѭ™, ”8© Ä \ en èRH M… a, p-„6 Ç, š Ž (för p@… ¥ A ”¢Ä9'!  eÐ för ‡ för #¤ ŽM¢ för ‚för
för `% A för ‚Š Z (p-‚dv) Í för ‡ ÕŠ6˜° för
xE9 för ¡ 8á Pi$Ð " >ì FÂ# #èà @YI `º#¤U Š” för † för Ø-” 9C-„ÈϤ! ) ÷ 6! „, •,2 @¢; t för H*A-`för Q (p@' ‚för à en >Ä för œFÊ för ¡ Ø4Š för ‡ Ä#h " œ ”! r för ˆätGPà för ‡ Á ‚l § för `- ±ôS„M9t (‚för ô för ¡ A ÒDu I$ för ¡ Á Œº för r-‡ avskiljare @! çò:  „l (Ž Ð$' en
för úH$-‡ 0å) nr. Tš, p-QC” 8”:  Çé (H$ËΜ ØH $Œ8 B! ”ˆD~ för „för ûE
M$! för ¤W för ¡ ù ‚för „nr. ¼ Á för e-
, - œHã” 8A4-¤Ò* * (qXI+-‚) ‚#

för Á V˜@ " klar "

Svar : Binärt anmärka strömmer (PDF)

oh min vän, du använder textdatatype. Det är inte bra. är du användande SQL 2005? Om så, därefter jag manar dig för att ändra den till varchar (max) för att undvika sig som, raddor besvärar i framtiden. Om du använder SQL 2000, då betrakta definitively varchar (8000). I mellantiden vi kan försök med ”den lika” operatören i stället

1:
2:
3:
välj a.* 
från betalning a
inre sammanfoga notesTEST b på a.id = b.CUSTOMER_id och dateadd (D, datediff (D, 0, A. [datera],), 0) >=dateadd (D, datediff (D, 0, B. [datera],), 0) och b.notes lika ”%” + cast (abs (A.value) som varchar) + ”%”,
Andra lösningar  
 
programming4us programming4us