MSSQL Zugriff über PHP

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

Status
Für weitere Antworten geschlossen.

fpo4711

Benutzer
Registriert
26. Mai 2010
Beiträge
2.772
Reaktionspunkte
1
Punkte
0
Hallo Gemeinde,

seit der aktuellen DSM (4.1) konnte ich nun feststellen, dass die mssql (und man beachte die zwei 's') Erweiterung von PHP über das GUI der Discstation zu aktivieren wäre. Leider bekomme ich diese Erweiterung nicht zum Laufen. Hat von euch jemand diese Erweiterung schon in Verbindung mit einen MSSQL-Server 2008 zum Laufen gebracht?

Bitte jetzt keine Vorschläge wie zweiten Apache (php-apache) und Erweiterung (php-mssql) über ipkg installieren. Diese Lösung funktioniert schon auf anderen DS's finde ich aber nicht glücklich gelöst. Bei dieser Lösung mußte ich auch in der freetds.conf den Parameter 'tds version = 8.0' setzen. Ein Konfigurationsfile für die Synology interne Lösung kann ich aber nicht finden. Auch ein Anlegen unter /usr/syno/freetds brachte keine Hilfe.

Grüße Frank
 
Niemand Erfahrungen mit der mssql-Extension ?
 
In Zusammenarbeit mit dem Support von Synology konnte ich nun eine Lösung für dieses Problem finden. Um also die mssql-Extension in Verbindung mit einem MSSQL-Server zum Laufen zu bringen müssen folgende Bedingungen erfüllt werden.

1.) Es muß eine freetds.conf vorzugsweise unter /usr/syno/etc/ vorhanden sein. Im Anschluß ein Beispiel welches mit dem MSSQL-Server 2008R2 zusammen funktioniert:

Rich (BBCode):
#   $Id: freetds.conf,v 1.12 2007/12/25 06:02:36 jklowden Exp $
#
# This file is installed by FreeTDS if no file by the same
# name is found in the installation directory.
#
# For information about the layout of this file and its settings,
# see the freetds.conf manpage "man freetds.conf".

# Global settings are overridden by those in a database
# server specific section
[global]
        # TDS protocol version
	tds version = 8.0
 	port = 1433
	charset = UTF-8
 	client charset = UTF-8

	# Whether to write a TDSDUMP file for diagnostic purposes
	# (setting this to /tmp is insecure on a multi-user system)
;	dump file = /var/log/freetds.log
;	debug flags = 0xffff

	# Command and connection timeouts
;	timeout = 10
;	connect timeout = 10

	# If you get out-of-memory errors, it may mean that your client
	# is trying to allocate a huge buffer for a TEXT field.
	# Try setting 'text size' to a more reasonable limit
	text size = 64512

# A typical Sybase server
[egServer50]
	host = symachine.domain.com
	port = 5000
	tds version = 5.0

# A typical Microsoft server
[egServer70]
	host = ntmachine.domain.com
	port = 1433
	tds version = 7.0

2.) Es muß eine Environmentvariable FREETDSCONF vorhanden sein, die den Pfad zu oben genanntem Config-File angibt. Dies kann gern auch über php geschehen. Siehe dazu folgenden Code.

PHP:
<?php
putenv("FREETDSCONF=/usr/syno/etc/freetds.conf");
$host = '192.168.0.10:1433';
$user = 'sa';
$password = 'password';

// Mit MSSQL verbinden
$verbindung = mssql_connect($host, $user, $password);

if (!$verbindung) {
    die('Error Connection');
}
?>
Die IP des MSSQL-Servers sowie user und password sind hier nur beispielhaft gewählt und müssen angepaßt werden. Auch der Standardport 1433 kann natürlich eventuell von den Gegebenheiten abweichen. Der Beispielcode zeigt auch nur den Verbindungsaufbau. Für weitere Informationen bitte die Dokumentation zu Rate ziehen.

Ich kann hier nur wirklich lobend den Support von Synolgy erwähnen. Auch zusätzliche Features wie die mssql-Extension einzuarbeiten empfinde ich als sehr vorbildlich auch wenn die Umsetzung noch etwas holprig ist.

Lange Rede, kurzer Sinn. Das Zusammenspiel php mit Microsoft SQL-Server ist jedenfalls mit Synology jetzt komfortabel möglich.

Gruß Frank
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat