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