Avatar billede eksperten1 Nybegynder
28. december 2004 - 15:37 Der er 10 kommentarer

Linux + PHP5 + MS SQL Server 2000

Jeg skal bruge en forbindelse til en MS SQL Server 2000 på en server hvor der er Multiple Instances !

Er der en venlig sjæl derude som har erfaring på dette felt ? Jeg kan overhovedet ikke få det til at fungere, jeg får hele tiden beskeden :
user not associated with at trsuted network connection.
Avatar billede dsj Nybegynder
28. december 2004 - 15:40 #1
Med hvilken applikation forsøger du at få forbindelse? Hvis der er tale om .NET eller noget tilsvarende, hvad er din connection-string da?
Avatar billede dsj Nybegynder
28. december 2004 - 15:41 #2
Ja det må nødvendigvis være fra PHP5 jf. overskriften, så hvordan ser din connection-string ud? :-)
Avatar billede eksperten1 Nybegynder
28. december 2004 - 15:56 #3
/**
    * Open a connection to the MS SQL server.
    *
    * Opens a semi persistent connection to the MS SQL, which
    * closes when the script is done (PHP automaticly does this).
    *
    * $sqlNavi -> array(host, user, pass, db)
    *
    */
    function __construct($sqlNavi, $sqlMB) {
        if ($sqlNavi) {
            $this->naviConn = mssql_connect($sqlNavi[0], $sqlNavi[1], $sqlNavi[2]);
            mssql_select_db($sqlNavi[3], $this->naviConn);
            echo $this->naviConn;
        }

        if ($sqlMB) {
            $this->mbConn = mssql_connect($sqlMB[0], $sqlMB[1], $sqlMB[2]);
            mssql_select_db($sqlMB[3], $this->mbConn);
        }

    }
Avatar billede arne_v Ekspert
28. december 2004 - 16:04 #4
Er den SQLServer konfigureret til windows only eller til mixed security ?
Avatar billede eksperten1 Nybegynder
28. december 2004 - 16:39 #5
mixed security...

Jeg forbinder fint til 2 andre MS SQL Server, den eneste forskel er at den ene har multiple instances ?!
Avatar billede arne_v Ekspert
28. december 2004 - 16:54 #6
multiple instanser ?

IP transport med forskellig port ?
Avatar billede arne_v Ekspert
28. december 2004 - 18:53 #7
Har du læst http://www.php.net/manual/en/function.mssql-connect.php ?

Applies to : IIS 5.0, PHP 4.3.4, MS-SQL 2000

If you try to connect to a host with multiple SQL-Server instances, you have to copy the ntwdblib.dll from a MS SQL 2000 installation to the system32 directory of your webserver.

The ntwdblib.dll bundled with php 4.3.4 does not support multpiple server instance.

I used the DLL version 2000.80.194.0 that came with MS SQL Server 8.00.194.

Example:
$dbhost="server_name\instance_name,port_number";
$dbuser="foo";
$dbpass="foo";
$dbname="foo";
$db=mssql_connect($dbhost,$dbuser,$dbpass);
mssql_select_db($dbname,$db);

Hvor det vigtige må være:
  - nyeste version af ntwdblib.dll
  - angivelse af port nummer
Avatar billede eksperten1 Nybegynder
29. december 2004 - 10:00 #8
>arne_v : det kører på en Linux box, ikke en Winbox. Ellers tak!
Avatar billede arne_v Ekspert
29. december 2004 - 10:17 #9
Hvis du kigger på linket, så er der også andre kommentarer omkring opsætning
af FreeTDS for at muliggøre at connecte fra Linux.

Men FreeTDS er altså ikke supporteret af Microsoft.
Avatar billede eksperten1 Nybegynder
29. december 2004 - 10:31 #10
arne_v: :) Det var ikke den slags "Ellers tak!" - det ser jeg først nu at det ligner et af den næsvise slags - det var ment som et "Ellers tak for hjælpen!" :)

Det er nu endelig kommet dertil hvor at det rent faktisk fungerer, det er altså sådan at man, modsat på Windoze, IKKE skal tænke på navnet på den Instance man skal snakke med, men kun tænke på port nummeret, så da vi endelig opgave dette så virker det. !!

Så du havde jo fat i noget med dit første indlæg arne_v : "IP transport med forskellig port?"
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester