… wenn die Leitung zu lang ist …

Da hab ich mir einen schönen neuen Drucker gekauft. In schicken schwarz und für wenig Geld. Die Vorfreude war riesig, schnhell war der Lexmark X34 ausgepackt und angeschlossen. Mein Spieltrieb wuchs und alles wurde ausprobiert. Die Faxfunktion, der Kopierer, der Scanner und auch eine Windows-Testseite kann raus … wunderbar … und dann kann das böse erwachen … Kein Dokument lies sich ausdrucken, keine Word-Datei und kein Bild, es kamen ominöse Fehlermeldungen, die ungefähr so aussahen:


PCL XL error
Subsystem: KERNEL
Error: IllegalTag
Operator: 0x6
Position: 455

… damit war nicht nur eine Seite Papier verschwendet, sondern es war auch meine Laune hin. Nun versuchte ich der Dinge Herr zu werden. Das Ausprobieren von verschieden Einstellungen im Druckertreiber half nichts … immernoch der selbe Fehler … die Dokumente wurden nicht gedruckt … 🙁

Also ab ins Internet und gesucht, habe dann einen Universaltreiber von Lexmark gefunden, der funktioniert auch besser als der mitgelieferte “Microsoft zertifiziert” – Drucktreiber, aber das Ergebnis war überhaupt nicht befriedigend. Nicht eine Seite konnte der Drucker richtig ausgeben.

Leicht demutiviert wendete ich mich an den Support. Am nächsten Arbeitstag bekom ich eine Antwort die mich schon sehr überrascht hat.

Hier der Auszug aus der Email:

Bei einen PCL XL Error kann es mehrere Ursachen geben, die dieses Fehler produzieren. Generel bedeutet dieses Fehler, das er bei dem Druckjob igrend etwas nicht richtig auflösen kann, also er den Druckauftrag nicht richtig versteht.

okay … soweit war ich auch schon … jetzt der Hammer …


Dieses kann mehrere Ursachen haben. Z.B Kann auch ein zu langes USB Kabel dieses Fehler produzieren, bitte achten Sie drauf das die Länge des USB Kabels nicht länger als 1,8m ist.

Oft tritt der Fehler z.B. auch auf, wenn man versucht Grafiken auszudrucken, welches zu Probleme führen kann.

Bei dem empfohlenen Treiber (benutzerdefinierter PCL-XL-Systemtreiber) sollten Sie beim Drucken von Grafiken folgende Einstellung im Treiber vornehmen.

Eigenschaften -> Druckeinstellungen -> Papier/Qualität -> Erweitert (= unten rechts)
Bei dem Punkt “Druckermerkmale” wählen Sie bitte bei “Option zum Herunterladen von TrueType Schriftarten” die Auswahl “Bitmap” oder “Grafik” aus.

Ist doch echt der Hammer, das die Länge des USB-Kabels schuld an der Geschichte war. Denn nach einem Umbau und etwas Sucherei nach einem kürzenen USB-Kabel tat es …

Aber ich muß dem Lexmark-Support danken, für die schnelle Hilfe … Wobei ein Hinweis in der Dokumentation bzw. den FAQ’s der Supportseite mich nicht mehrere Stunden meines Wochenendes gekostet … Besser wäre es gleich das richtige Kabel mitzuverkaufen. Aber in dem heiß umkämpften Druckermarkt scheint ein Kabel für 2€ wohl dann doch zuviel sein.

Vista-Treiber für Canon LASER SHOT LBP-2410

Windows-Vista ist an sich ein tolles Betriebssystem, nur ohne die passenden Treiber macht das alles keinen Spaß. So auch bei dem Canon LASER SHOT LBP-2410, das Gerät ist auch nocht nicht so alt. Also die Annahme, das Canon dafür auch einen Treiber zur Verfügung stellt.

Die Nachfrage beim Support ergab, das es keinen Treiber gibt. Aber davon wollte ich mich nicht überzeugen lassen 😉 … ganz nach dem Motto “Traue nur der Hot-line-aussage die du nicht selbst gegooglet hast” begab ich mich in die Tiefen des Webs. Und siehe da … unter den Stichwort “Canon Advanced Printing” gab es auch eine Menge Treffer, die Ergänzung um “LBP-2410” gab dann einen interessanten Treffer auf Canon-Neuseeland, der führte zu einer Datei mit dem Namen “LBP-2410CAPT_English_R110_Win2000_XP_Vista.exe” … hehe … Treffer.

Und wie es sich herausstellte funktionierte dieser Treiber unter Vista super. Das File gibts hier zum Download : Vista-Treiber Canon LASERSHOT LBP-2410

Benutzung auf eingene Gefahr
Quelle-Treiber: Canon Inc.

Recursive Queries – SQL-Server 2005

Heute habe ich wieder ein Highlight beim SQL-Server gefunden, was die Arbeit mit dieser Datenbank erheblich erleichtert. Ich hatte ein Problem und zwar mußte ich eine Hirachie und den entsprechenden Pfad aus der Datenbank ziehen.

Mein erster Gedanke war eine recursive Table-Valued-Funktion, die mir das Ergebnis zurückliefert. Das geht nun einfacher (leider erst im SQL-Server 2005):


declare @trenner nvarchar

set @trenner = '~';

WITH StructReports ( STRUKTURELEMENT_ID, VATER_STRUKTURELEMENT_ID, NAME , Level, path)
AS
(
-- Anchor member definition
SELECT
STRUKTURELEMENT_ID,
VATER_STRUKTURELEMENT_ID,
NAME ,
0 AS Level,
se.NAME as path
FROM dbo.Strukturelement as se
WHERE VATER_STRUKTURELEMENT_ID is null

UNION ALL

-- Recursive member definition

SELECT
se.STRUKTURELEMENT_ID,
se.VATER_STRUKTURELEMENT_ID,
se.NAME ,
Level +1,
sv.path + @trenner + se.Name as path
FROM dbo.Strukturelement as se
inner join StructReports as sv
on se.VATER_STRUKTURELEMENT_ID = sv.STRUKTURELEMENT_ID
)

Select * from StructReports r
order by path

Es ist zwar nicht eine so elegante Lösung, wie es Oracle mit dem Befehl “connect by” geschaft hat, aber es ist auch nicht schlecht.

Die hier gezeigt Möglichkeit gibt recursive die alle Elemente der Tabelle “Strukturelemente” zurück. Ein Struktur kann eine Verzeichnisstruktur oder eine Katalog sein, wie jeder mag. Hier hat sich Microsoft doch eine gute Methode einfallen lassen wie man endlich in der 9. Version des SQL-Servers Baumstrukturen per Select abrufen kann.