[PHP] fsockopen voor MSSQL een ander protocol ?

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik heb even een simpel scriptje om een poort te kunnen testen op een Windows of Linux machine door gebruik te maken van fsockopen.

Het blijk alleen dat wanneer ik op een Windows machine op de MSSQL poort wil connecten met fsockopen dat ik niet kan verbinden en dus een fout terug krijg als zijnde "niet beschikbaar".

Na een uur of wat zoeken, googelen, MSN, IRC ben ik er achte rdat het wel zou moeten werken. Er zijn wat geruchten over een ander protocol voor MSSQL in plaats van tcp ?

Ik heb een test gedaan met iemand die een MSSQL machine heeft draaien en die zag van mij geen request binnen komen. De poort was in orde, het IP ook. poort 1433 en/of 1434.

Zoek ik naar een speld in een hooiberg ? Of doe ik gewoon wat fout ?

Acties:
  • 0 Henk 'm!

Verwijderd

MSSQL kan naast TCP/IP (poort 1433/1434) ook nog gebruik maken van IPX/SPX, NetBIOS, named pipes en shared memory. Welke MSSQL versie draait op die machine die je geprobeerd hebt?
Als 't de (gratis) Express of MSDE versie is, moet je expliciet TCP/IP aanzetten, omdat die standaard alleen shared memory activeert, waarmee de database alleen maar te benaderen is vanaf de machine waar MSSQL daadwerkelijk op draait.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Het gaat om een MSSQL 2003 versie waar gewoon gebruik gemaakt wordt van TCP/IP.

Ik heb nu 2 referenties, beide laten niets zien dat de service draait met fsockopen.

Acties:
  • 0 Henk 'm!

  • rollebol
  • Registratie: Mei 2000
  • Laatst online: 22-08 14:55
Er is geen versie 2003 van MS SQL Server. Wel een versie van Windows Server. SQL Server kan versie 2000 zijn of versie 2005. Deze zijn er beide in verschillende uitvoeringen.

Met telnet kan ik naar mijn SQL Server verbinden met TCP-poort 1433, dat is wat je probeert te doen. Maar is http://nl2.php.net/function.mssql-connect dit niet wat voor je?
edit:
Hoe kom ik er nou bij dat je iets met PHP doet... :)

[ Voor 82% gewijzigd door rollebol op 16-06-2006 00:21 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Typefoutje, 2000 inderdaad :$ De andere kan 2005 zijn, maar is naar mijn weten ook 2000

Ik zou kunnen connecten met een MSSQL-functie... in combinatie met verkeerde gebuikersgegevens. Ik vraag me af of die een juiste/nette manier is.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Opgelost !

Het bleek dat de machine waar het scriptje op stond een firewall had die outbound de MSSQL poort niet doorliet. Op mijn werkstation was het geen probleem om te telnetten omdat mijn router alles outbound doorlaat :)

Ik hou niet zo van telnetten naar buiten van een server, dus vandaar mijn werkstation er voor gebruikt :)

Ik ga me schamen |:(

[ Voor 20% gewijzigd door Verwijderd op 16-06-2006 01:18 ]

Pagina: 1