Re: Problem mit Zugriff aus MSSQL-Server

Re: Problem mit Zugriff aus MSSQL-Server

am 16.05.2007 10:14:05 von Ulf Kadner

Klaus Herzberg schrieb:

> ich muss ein PHP-Projekt mit MSSQL-Server realisieren. Allerdings habe
> ich schon Probleme auf den Server zuzugreifen.
>
> Warning: mssql_connect() [function.mssql-connect]: Unable to connect to
> server: xxx.xxx.xxx.xxx in...

Zuerst: Die Gruppe de.comp.lang.php.datenbanken existiert, daher XPost +
FUP dahin (Antworten erscheinen dort)

Ist der Server auf dem selben Rechner wie PHP? Wie greifst Du auf diesen
genau zu? (Welchen Host verwendest Du) Welchen Server verwendest Du?
Evtl Sqlserver-Express 2005?

> Ich kann ueber das "SQL Server Management Studio" problemlos zugreifen.

Ist der SQL-Server so eingestellt das Deine Loginmethode (welche nutzt
Du) auch unterstützt wird? Per default kann man sich oft nicht ohne
weiteres da einlogen.

Viele Fragen. :-)

> Die "ntwdblib.dll" liegt im PHP-Verzeichnis und im Windows-System-Ordner.
> Da die Funktion "mssql_connect" sollte die mssql-Extension geladen
> worden sein.

MfG, Ulf

Re: Problem mit Zugriff aus MSSQL-Server

am 16.05.2007 10:21:20 von Klaus Herzberg

Hallo,
erstmal danke fuer die schnelle Antwort.

Ulf Kadner wrote:
> Klaus Herzberg schrieb:
>
>> ich muss ein PHP-Projekt mit MSSQL-Server realisieren. Allerdings habe
>> ich schon Probleme auf den Server zuzugreifen.
>>
>> Warning: mssql_connect() [function.mssql-connect]: Unable to connect
>> to server: xxx.xxx.xxx.xxx in...
>
> Zuerst: Die Gruppe de.comp.lang.php.datenbanken existiert, daher XPost +
> FUP dahin (Antworten erscheinen dort)
stimmt, ist dort besser aufgehoben, die hatte ich mal entfernt, weil
dort wenig Traffic.

> Ist der Server auf dem selben Rechner wie PHP? Wie greifst Du auf diesen
> genau zu? (Welchen Host verwendest Du) Welchen Server verwendest Du?
> Evtl Sqlserver-Express 2005?
Ich habe 2 DB-Server. SQL-Express local und SQL-Server 2005 auf einem
dedizierten Server.

>> Ich kann ueber das "SQL Server Management Studio" problemlos zugreifen.
>
> Ist der SQL-Server so eingestellt das Deine Loginmethode (welche nutzt
> Du) auch unterstützt wird? Per default kann man sich oft nicht ohne
> weiteres da einlogen.
Auf beiden ist SQL-Auth. eingestellt.

Zur "ntwdblib.dll". Da habe ich eben gelesen, dass es unterschiedliche
gibt. So habe ich meine (278kb) durch eine aus dem Netz (269kb) ersetzt.

Damit gab es eine "Verbesserung":

SQLServer 2005 meldet jetzt:
Login failed for user ''. The user is not associated with a trusted SQL
Server connection. (severity 14)

Allerdings mit den gleichen Zugangsdaten, die ich ueber das SQL
Management Studio verwende.

D.h. ja, es kann eine Verbindung aufgebaut werden, jetzt liegt es auf
der Seite des SQL Server 2005?



SQL Express meldet immer noch "Unable to connect to server:"

mfg. klaus.

Re: Problem mit Zugriff aus MSSQL-Server

am 16.05.2007 10:25:43 von Irmgard Schwenteck

Hallo

> Klaus Herzberg schrieb:
>
>> ich muss ein PHP-Projekt mit MSSQL-Server realisieren. Allerdings habe
>> ich schon Probleme auf den Server zuzugreifen.
>>
>> Warning: mssql_connect() [function.mssql-connect]: Unable to connect
>> to server: xxx.xxx.xxx.xxx in...

Ist auf dem SQL-Server ein Benutzer für die Anwendung angelegt?
Es ist sehr ratsam, diesem Benutzer nur genau die Rechte zu geben,
welche die Anwendung braucht.

Wie sieht Dein Verbindungsaufruf aus?
$db=mssql_connect("SERVER", "user", "pwd");

Der Servername ist *nicht* localhost.

Wenn es integrierte Sicherheit sein soll, muß allerdings jemand anders
weiterhelfen.

Gruß
Irmgard

Re: Problem mit Zugriff aus MSSQL-Server

am 16.05.2007 10:31:47 von Klaus Herzberg

Irmgard Schwenteck wrote:
> Hallo
>
>> Klaus Herzberg schrieb:
>>
>>> ich muss ein PHP-Projekt mit MSSQL-Server realisieren. Allerdings
>>> habe ich schon Probleme auf den Server zuzugreifen.
>>>
>>> Warning: mssql_connect() [function.mssql-connect]: Unable to connect
>>> to server: xxx.xxx.xxx.xxx in...
>
> Ist auf dem SQL-Server ein Benutzer für die Anwendung angelegt?
> Es ist sehr ratsam, diesem Benutzer nur genau die Rechte zu geben,
> welche die Anwendung braucht.
ja


> Wie sieht Dein Verbindungsaufruf aus?
> $db=mssql_connect("SERVER", "user", "pwd");
ja, so sieht sie aus. Es sind die gleichen Zugangsdaten, mit welchen in
eine Connection von einer .NET-Anwendung aus aufbaue.

> Der Servername ist *nicht* localhost.
nein, beim SQL-Server 2005 nicht, weil es ist ja ein anderer Rechner, da
wuerde ich nicht localhost verwenden:)
Allerdings beim Versuch, den lokalen SQL-Server Express zu konnekten
habe ich "localhost", ip-Adresse und meinen Rechnernamen getestet.

mfg. klaus.

Re: Problem mit Zugriff aus MSSQL-Server

am 16.05.2007 14:04:33 von Klaus Herzberg

Hallo,
ich erhalte, wie erwaehnt, die Fehlermeldung

mssql_connect() [function.mssql-connect]: message:
Login failed for user ''

Die Logfiles des SQL-Server 2005 melden auch, dass jemand versucht, ohne
User und Passw zuzugreifen.
Die Funktion rufe ich aber mit User und Passw auf.

Kann es sein, dass die Funktion mssql_connect fehlerhaft ist?

mfg. klaus.

Re: Problem mit Zugriff aus MSSQL-Server

am 16.05.2007 14:35:32 von Klaus Herzberg

Hallo,
klappt mit SQL-Server 2005 wenn ich in der php.ini aendere:

;Use NT authentication when connecting to the server
;mssql.secure_connection = On
mssql.secure_connection = Off

Endlich.

mfg. klaus.

Re: Problem mit Zugriff aus MSSQL-Server

am 16.05.2007 14:40:31 von Klaus Herzberg

und SQLExpress ueber:

mssql_connect("(local)\SQLEXPRESS","sa","******************* **************************")

Das ist aber fein dokumentiert.

Danke an alle. mfg. klaus.

Re: Problem mit Zugriff aus MSSQL-Server

am 16.05.2007 15:02:05 von Irmgard Schwenteck

Hallo

Klaus Herzberg schrieb:
> klappt mit SQL-Server 2005 wenn ich in der php.ini aendere:
>
> ;Use NT authentication when connecting to the server
> ;mssql.secure_connection = On
> mssql.secure_connection = Off


Ist das nicht standardmäßig auf off?

Gruß
Irmgard

Re: Problem mit Zugriff aus MSSQL-Server

am 16.05.2007 15:05:01 von Irmgard Schwenteck

Hallo

Klaus Herzberg schrieb:

>> Der Servername ist *nicht* localhost.
> nein, beim SQL-Server 2005 nicht, weil es ist ja ein anderer Rechner, da
> wuerde ich nicht localhost verwenden:)

Nein, deswegen nicht; der SQL-Server hat immer einen Namen. Im
Normalfall den Namen des Windows-Servers (bzw. Rechners) darunter, kann
aber auch umbenannt werden.

Gruß
Irmgard