Barcodes und QR-Codes in SSRS-Reports – kostenlose CRI-Extension
TL;DR — GlueckBarQrCode ist eine kostenlose SSRS Custom Report Item Extension, die 17 Barcode-Symbologien und einen QR-Code-Generator mit Logo-Embedding nativ in SQL Server Reporting Services integriert. Kein externer Dienst, keine Laufzeitkosten, vollständig datengetrieben über SSRS-Ausdrücke.
Kein SaaS-Abo, kein API-Key, keine Daten verlassen den Server. Die Barcodes werden direkt im SSRS Report Server generiert.
Das Problem: SSRS kennt von Haus aus keine Barcodes
SQL Server Reporting Services (SSRS) liefert Tabellen, Diagramme und Karten. Was fehlt: ein nativer Barcode- oder QR-Code-Control. Wer Lieferscheine mit GS1-DataBar, Produktetiketten mit EAN-13 oder Zertifikate mit QR-Code direkt aus SSRS erzeugen will, braucht entweder eine kostenpflichtige Drittanbieter-Extension oder einen Workaround über Font-Tricks (unzuverlässig) und externe Web-Services (Datenschutzproblem, Ausfallrisiko).
GlueckBarQrCode schließt diese Lücke als natives Custom Report Item (CRI) — die offizielle SSRS-Erweiterungsschnittstelle von Microsoft.
Typische Anwendungsfälle
- Lagerverwaltung und Kommissionierung — Code 128 oder DataMatrix auf Etiketten, Daten direkt aus der SSRS-Datenquelle
- Handel und Kassensysteme — EAN-13 und EAN-8 für Produktetiketten aus dem Warenwirtschaftssystem
- Versand und Logistik — GS1 DataBar RSS-14 und RSS Expanded für GS1-konforme Versandlabels
- Gesundheitswesen und Pharma — DataMatrix nach securPharm/DSCSA auf Beipackzetteln und Verpackungen
- Zertifikate und Ausweise — QR-Code mit Firmenlogo für Prüfzertifikate, Ausweise, Eintrittskarten
- Industrielle Kennzeichnung — Aztec oder DataMatrix für harte Umgebungen (kleine Symbole, hohe Fehlertoleranz)
- Tickets und Fahrausweise — Aztec (DB, ÖPNV) und PDF417 (Boarding Pass, ICAO)
- Bibliotheken und Archiv — Codabar für historische Systeme und Leihvorgänge
Alle unterstützten Barcode-Typen
GlueckBarQrCode unterstützt insgesamt 18 Symbologien (17 lineare/2D-Barcodes via GlueckBarcode + QR-Code via GlueckQrCode).
| Typ | Symbologie | Zeichenraum | Typischer Einsatz |
|---|---|---|---|
| QR-Code | QR Code 2005 | Alle Unicode-Zeichen, binär | URLs, vCards, Wi-Fi, Zertifikate |
| Code 128 | ISO 15417 | ASCII 0–127, kompakt | Logistik, allgemein |
| Code 39 | ISO 16388 | A–Z, 0–9, Sonderzeichen | Industrie, Gesundheitswesen (alt) |
| Code 93 | – | ASCII (kompakter als 39) | Inventur, Kanada Post |
| EAN-13 | ISO 15420 | 12 Ziffern + Prüfziffer | Handel Europa (GTIN) |
| EAN-8 | ISO 15420 | 7 Ziffern + Prüfziffer | Kleinverpackungen |
| UPC-A | GS1 | 11 Ziffern + Prüfziffer | Handel USA/Kanada |
| UPC-E | GS1 | 6 Ziffern komprimiert | Kleinverpackungen USA |
| Interleaved 2 of 5 (ITF) | ISO 16390 | Ziffern (paarweise) | Versandkartons, Lager |
| GS1 DataBar RSS-14 | GS1 | 13 Ziffern GTIN | Frischeprodukte, Obst/Gemüse |
| GS1 DataBar RSS Expanded | GS1 | GTIN + Zusatzdaten (Charge, MHD) | Pharma, Frische mit Chargennummer |
| DataMatrix | ISO 16022 | Binär, sehr kompakt | Pharma (securPharm), Industrie, PCB |
| PDF417 | ISO 15438 | Binär, mehrreihig | Reisepässe, Führerscheine, Verträge |
| Aztec | ISO 24778 | Binär, konzentrisch | Bahn-Tickets, Boarding Passes |
| MaxiCode | ISO 16023 | Fest 93 Zeichen + Adresse | UPS-Versandlabels |
| Codabar | – | Ziffern + Sonderzeichen | Bibliotheken, Blutbanken (Legacy) |
| Plessey | – | Hex-Ziffern | UK-Retail (Legacy) |
| MSI | – | Ziffern | Lager-/Bestandsmanagement |
SVG-Beispiele
Die folgenden Abbildungen zeigen eine Auswahl gängiger Symbologien — gerendert als statische SVG-Darstellungen.
QR-Code für https://dozent.net
Code 128 – universeller 1D-Barcode
EAN-13 – europäischer Handelsstandard
DataMatrix – kompakt für Industrie und Pharma
Warum GlueckBarQrCode statt kostenpflichtiger Alternativen?
| Feature | GlueckBarQrCode | Typische kommerzielle CRI | Web-Service |
|---|---|---|---|
| Preis | 0 € | 200–1500 € pro Server | Abo ab 20 $/Monat |
| Barcode-Typen | 17 + QR-Code | 10–30 (je nach Produkt) | variabel |
| Daten verlassen den Server | Nein | Nein | Ja |
| SSRS-Ausdrücke | Alle Properties | Meist ja | Nein |
| Logo im QR-Code | Ja (Base64/URL/DB) | Selten | Oft |
| Power BI Report Server | Ja | Oft gegen Aufpreis | Nein |
Hinweis: Tabelle Stand Mai 2026. Preise und Features kommerzieller Anbieter ändern sich — vor dem Kauf beim jeweiligen Anbieter prüfen.
Datengetriebene Barcode-Generierung mit SSRS-Ausdrücken
Jede Eigenschaft des Controls unterstützt SSRS-Ausdrücke (=Ausdruck). Das bedeutet: pro Datenzeile entsteht ein eigener Barcode — ohne Code, ohne Skript.
Beispiele:
-- Inhalt aus Datenbankfeld
Data = =Fields!EAN.Value
-- Barcode-Typ abhängig von Kategorie
BarcodeType = =IIF(Fields!Kategorie.Value = "Pharma", "DataMatrix", "Code128")
-- Farbe aus RAL-Tabelle
DarkColor = =Fields!BrandColor.Value
-- Logo aus Datenbankfeld (Byte-Array)
LogoSource = Database
LogoData = =Fields!Logo.Value
Damit lassen sich ganze Produktkataloge, Etiketten-Reports und Zertifikate vollständig aus der Datenbank generieren.
Installation: Server und Client
Voraussetzungen
- Server: SQL Server Reporting Services 2017, 2019 oder 2022 (alternativ Power BI Report Server)
- Design-Time (optional): Visual Studio 2019 oder 2022 mit der Extension „Microsoft Reporting Services Projects" (kostenlos im Visual Studio Marketplace)
- PowerShell: Version 5.1 oder neuer, als Administrator ausgeführt
- .NET Framework: 4.7.2 (für SSRS 2017/2019) oder 4.8 (für SSRS 2022 und Power BI Report Server) — ist auf einem Windows Server mit SSRS in der Regel bereits installiert
Schritt 1 — Release herunterladen und entpacken
Lade das aktuelle Release-ZIP von der Projektseite herunter und entpacke es in ein lokales Verzeichnis, z. B. C:\Install\GlueckBarQrCode\.
Schritt 2 — PowerShell als Administrator starten
Öffne eine PowerShell-Konsole mit erhöhten Rechten: Rechtsklick auf das PowerShell-Symbol → „Als Administrator ausführen".
Schritt 3 — Installationsskript ausführen (Server-Komponenten)
Set-Location "C:\Install\GlueckBarQrCode"
.\Install.ps1
Das Skript führt automatisch durch:
- GAC-Registrierung — alle drei Assemblies (
GlueckQrCode.Shared.dll,GlueckQrCode.Runtime.dll,GlueckQrCode.Design.dll) werden im Global Assembly Cache registriert. - rsreportserver.config patchen — die SSRS-Serverkonfiguration wird um den CRI-Eintrag erweitert, sodass SSRS die Extension beim Rendern lädt.
- RSReportDesigner.config patchen — die Visual-Studio/Report-Builder-Konfiguration wird um den Design-Time-Eintrag erweitert.
Das Skript erkennt automatisch, ob SSRS 2017/2019 (.NET 4.7.2) oder SSRS 2022 (.NET 4.8) installiert ist, und wählt die passende Assembly-Version.
Schritt 4 — SSRS-Dienst neu starten
Restart-Service "SQLServerReportingServices"
Alternativ: Windows-Dienste-Verwaltung öffnen, „SQL Server Reporting Services" auswählen, neu starten.
Schritt 5 — Visual Studio neu starten (Design-Time)
Starte Visual Studio neu. Im Toolbox-Fenster erscheinen anschließend die Einträge GlueckQrCode und GlueckBarcode unter dem Abschnitt „Reporting Items". Per Drag-and-Drop lassen sich die Controls in den Report-Designer ziehen.
Im Eigenschaften-Panel öffnet sich durch Doppelklick auf das Control eine Vorschau-Seite mit Live-Preview: Änderungen an Daten, Farben oder Fehlerkorrektur-Stufe werden sofort sichtbar.
Deinstallation
.\Uninstall.ps1
Das Skript entfernt alle GAC-Einträge und setzt die Konfigurationsdateien zurück.
QR-Code mit Logo konfigurieren
Control: GlueckQrCode
Data = https://dozent.net
ErrorCorrection = H (30 % Fehlertoleranz, empfohlen bei Logo)
PixelsPerModule = 10
QuietZone = 4
LogoSource = Embedded (oder: External, Database)
LogoData = <Base64-String des PNG>
LogoSizePercent = 20 (5–30 %, max. 30 bei ECL H)
LogoBorderRadius = 4
DarkColor = #FF000000 (ARGB: opak schwarz)
LightColor = #FFFFFFFF (ARGB: opak weiß)
Bei LogoSource = Database wird das Logo aus einem Datenbankfeld gelesen:
LogoData = =Fields!LogoBinary.Value (Byte-Array-Feld im DataSet)
Häufige Fragen (FAQ)
Welche SSRS-Versionen werden unterstützt?
GlueckBarQrCode unterstützt SQL Server Reporting Services 2017, 2019 und 2022 sowie den Power BI Report Server. Für SSRS 2017/2019 wird .NET Framework 4.7.2 verwendet, für SSRS 2022 und Power BI Report Server .NET Framework 4.8.
Funktioniert die Extension mit Report Builder?
Ja. Der eigenständige Microsoft Report Builder wird vollständig unterstützt. Nach der Installation erscheinen GlueckQrCode und GlueckBarcode in der Toolbox und können per Drag-and-Drop in Berichte eingefügt werden.
Welche Barcode-Typen werden unterstützt?
Es werden 17 Symbologien unterstützt: Code 39, Code 93, Code 128, EAN-8, EAN-13, UPC-A, UPC-E, Interleaved 2 of 5 (ITF), Codabar, GS1 DataBar RSS-14, GS1 DataBar RSS Expanded, Plessey, MSI, DataMatrix, PDF417, Aztec und MaxiCode. Zusätzlich gibt es den separaten QR-Code-Control mit Logo-Embedding.
Kann ich ein Logo in den QR-Code einbetten?
Ja. Das Logo kann als Base64-String eingebettet (max. 512 KB), per HTTPS-URL geladen oder direkt aus einem Datenbankfeld (Byte-Array) bezogen werden. Die maximale Logo-Fläche beträgt 30 % des QR-Codes. Bei Fehlerkorrektur H können bis zu 30 % der Codebereiche verdeckt werden — ideal für Logo-Overlays.
Wie werden Barcodes für jeden Datensatz individuell generiert?
Alle Eigenschaften des Controls unterstützen SSRS-Ausdrücke. Zum Beispiel setzt Data = =Fields!EAN.Value den Barcode-Inhalt auf den EAN-Wert jeder Zeile. Farben, Größe und Typ können ebenfalls per Ausdruck gesteuert werden.
Benötige ich Admin-Rechte für die Installation?
Ja, für die Server-seitige Installation sind Administrator-Rechte erforderlich, da Assemblies im Global Assembly Cache (GAC) registriert und Konfigurationsdateien im SSRS-Installationsverzeichnis bearbeitet werden.
Was passiert, wenn ein Barcode ungültige Daten enthält?
Ungültige Daten oder Render-Fehler führen nicht zum Absturz des Reports. Stattdessen wird ein rotes Platzhalter-PNG gerendert. Fehlerdetails werden in das SSRS-Protokollverzeichnis geschrieben.
Jetzt loslegen
GlueckBarQrCode kostenlos herunterladen
Kein Abo, kein API-Key, keine Registrierung erforderlich.