Thomas Teufl

Knowledgebase

Archive for the ‘SQL-Server’ Category

MS SQL2005 und Transaktionsprotokoll

Weil man dazu immer wieder was sucht:

SQL – Fragen und Antworten
Große Transaktionsprotokolle, Verwendungsfälle für repair und mehr

Und eine immer wieder gern gestellte Frage: “Kann man das Transaktionsprotokoll abschalten?”…

von Paul S. Randal (leitender Direktor SQLskills.com)

MS SQL 2005 und PHP

Microsoft hat einen PHP-Treiber für den MS SQL-Server 2005 freigeben. Endlich.

Leider funktioniert dieser nur unter Windows. Problemlage. So bleibt unter Linux nach wie vor nur FreeTDS und Sybase

MS SQL 2005: Logon-Trigger

Microsofts SQL Server 2005 kann beim Aufbau einer Verbindung (nach der Authentifizierung, aber noch vor dem Connection-Establishment) einen Trigger ausführen. Nützlich ist das z.B. um die Anzahl gleichzeitiger Verbindungen eines Logins zu prüfen, eigene Sessionverwaltungseinträge zu setzen, Logs zu schreiben usw..

siehe SQL Server 2005 Books Online

SQL Server 2005 und MD5

Ein offensichtlich großes Problem. Der MS SQL-Server 2005 kann inzwischen mit Hashes verschiedener Art umgehen, auch MD5. Nur ist die Ausgabe nicht immer so, wie man es erwartet. Eine Wrapper-Function löst das Problem:

CREATE FUNCTION [dbo].[fn_md5] (@string VARCHAR(8000))
RETURNS VARCHAR(100) AS
BEGIN
Declare @tmp varchar(100)
select @tmp = master.dbo.fn_varbintohexstr(HashBytes(’MD5′, @string))

RETURN SUBSTRING(@tmp, 3, LEN(@tmp)-2)
END

Mit

SELECT dbo.fn_md5(’test’)

erhält man nun den gewünschten Hex-String

siehe tech-archive

JasperServer und MS SQL 2005

Um dem JasperServer einen MS SQL-Server 2005 als Datenquelle geben zu können, sind einige Besonderheiten zu beachten: Zuallererst muss der JDBC-Treiber von MS installiert werden. Die Datei “sqljdbc.jar” ist dabei (bei einer Windows-Installation) unter “C:\Programme\jasperserver-2.1\apache-tomcat\webapps\jasperserver\WEB-INF\lib” abzulegen (Nicht vergessen: Tomcat neustarten, damit der Treiber gefunden wird). Bei der Angabe der datasource im JasperServer sind folgende Angaben nötig:


Driver: “com.microsoft.sqlserver.jdbc.SQLServerDriver”
URL: “jdbc:sqlserver://MeinDBServer;databaseName=MeineDB;SelectMethod=cursor”

Die SelectMethod ist wichtig, damit die Daten richtig an den JDBC-Treiber übergeben werden können, ansonsten entstehen Cursor-Fehler (siehe MS KB).

Und siehe da: “Bin ich schon drin oder was?”
Einige Infos werden auch dem mssqljdbc-Treiber beigelegt, im Unterverzeichnis help/ des entpackten Treibers ist die HMTL-Dokumentation. In der index.htm führt der Punkt “Connecting to SQL Server” und “Building the Connection URL” zum Ziel.

Auch im JasperServer-Pro-Install-Guide.pdf auf Seite 47/48 finden sich ein paar Hinweise.