Avatar billede Morten Nybegynder
09. september 2004 - 13:44 Der er 27 kommentarer og
1 løsning

Opsætning til php

Hej

Nu har jeg brugt dage og jeg kan ikke finde noget som virker...

Jeg har en MS Server 2003 - MS SQL SERVER 2000

Har installeret en Apache og PHP - og nu vil jeg meget gerne kunne accesse min SQL database - jeg kan bare ikke få skidtet til at virke...

Jeg har rette i PHP.INI - ;extension=mssql.... til extension...

Skal der sættes noget i SQL serveren...?
Burde brugeren SA ikke kunne connecte ?
Avatar billede fsconsult.dk Nybegynder
09. september 2004 - 13:53 #1
du skal muligvis tilføje flg. i php.ini:

[MSSQL]
mssql.secure_connection = Off
Avatar billede Morten Nybegynder
09. september 2004 - 13:58 #2
Gjort - men stadig samme problemer

Kan du ikke give mig et eksempel på en connection...?
Avatar billede fsconsult.dk Nybegynder
09. september 2004 - 13:59 #3
kig på http://www.php.net/function.mssql-connect

<?
$msconnect=mssql_connect("MyServer70","sa","");
$msdb=mssql_select_db("Northwind",$msconnect);
$msquery = "select titleofcourtesy,firstname,lastname from employees";
$msresults= mssql_query($msquery);
while ($row = mssql_fetch_array($msresults)) {
      echo "<li>" . $row['titleofcourtesy'] . " " . $row['firstname'] . " " . $row['lastname'] .  "</li>\n";
}
?>
Avatar billede fsconsult.dk Nybegynder
09. september 2004 - 14:00 #4
What i did:
* get the php_mssql.dll
* get the ntwdblib.dll
* configure your php.ini

GET php_mssql.dll:
This dll can be found in the binary zip of php 4.3 (not the self installing package)
Put it in your extensions dir (extensions dir found in php.ini) In my case (default install with PHP installer) same dir as PHP.exe
NOTE: I dont know what the php_mssql70.dll library is.. never found it in a distribution of PHP or on the net.

GET ntwdblib.dll
This dll can also be found in the binary zip of php 4.3 in the dlls subdir. put it in the system32 dir.
WATCH OUT... i used a copy found on a MSSQL server, used that.. couldn't get it to work.. My function calls seamed OK, could call the mssql routines but I got a connection error
When I used the dll distributed with the binary zip of php 4.3 it worked.

configure your PHP.ini
uncomment the php_mssql.dll in the extensions part of php.ini
also check if the extensions dir is set correctly.. it should point to the dir where your extensions are located.
Avatar billede Morten Nybegynder
09. september 2004 - 14:02 #5
ntwdblib.dll...

Skal jeg bruge den som følger med PHP og overskrive den jeg har i mit windows katalog???????
Avatar billede fsconsult.dk Nybegynder
09. september 2004 - 14:05 #6
Jeg har IKKE afprøvet opskrifter, og ville nok prøve at checke php_mssql.dll i første omgang.

Og før du overskriver noget i system32 kataloget, så tag lige en kopi inden, så du kan kopiere den gamle .DLL tilbage hvis maskinen begynder at opføre sig underligt.
Avatar billede Morten Nybegynder
09. september 2004 - 14:05 #7
Her er hvad fik

Warning: mssql_connect(): message: Login failed for user 'sa'. Reason: Not associated with a trusted SQL Server connection. (severity 14) in c:\apache\htdocs\sql_test2.php on line 2

Warning: mssql_connect(): Unable to connect to server: CFDKDC03 in c:\apache\htdocs\sql_test2.php on line 2

Warning: mssql_select_db(): supplied argument is not a valid MS SQL-Link resource in c:\apache\htdocs\sql_test2.php on line 3

Warning: mssql_query(): message: Login failed for user '(null)'. Reason: Not associated with a trusted SQL Server connection. (severity 14) in c:\apache\htdocs\sql_test2.php on line 5

Warning: mssql_query(): Unable to connect to server: (null) in c:\apache\htdocs\sql_test2.php on line 5

Warning: mssql_query(): A link to the server could not be established in c:\apache\htdocs\sql_test2.php on line 5

Warning: mssql_fetch_array(): supplied argument is not a valid MS SQL-result resource in c:\apache\htdocs\sql_test2.php on line 6
Avatar billede Morten Nybegynder
09. september 2004 - 14:09 #8
kan jeg skifte ntwdblib on the fly?
Avatar billede Morten Nybegynder
09. september 2004 - 14:21 #9
; Directory in which the loadable extensions (modules) reside.
extension_dir = "c:/php/extensions"

extension=php_mssql.dll

[MSSQL]
; Allow or prevent persistent links.
mssql.allow_persistent = On
mssql.secure_connection = off
Avatar billede fsconsult.dk Nybegynder
09. september 2004 - 14:22 #10
hmm.... der står længere nede, at man skal kopiere NTWDBLIB.DLL fra CD'en med MSSQL, da .DLL'en fra PHP formentlig er til MSSQL 7.0
Avatar billede Morten Nybegynder
09. september 2004 - 14:24 #11
men som sagt kunne jeg heller ikke skifte den on the fly..

Jeg har læst andre steder at man skal installerer SQL klienten på maskninen med PHP - men jeg går udfra at dette kun gælder i de tilfælde hvor man ikke har serveren lokalt...?
Avatar billede fsconsult.dk Nybegynder
09. september 2004 - 14:28 #12
kan være du skal installere MS SQL klienten fra CD'en, da PHP muligvis benytter den del til at tilgå databasen.
Avatar billede Morten Nybegynder
09. september 2004 - 14:48 #13
Ved du hvor man ændre dette:

SQL Server Authentication Mode

de snakker flere steder om at denne skal være sat både til SQL og Windows...
Avatar billede fsconsult.dk Nybegynder
09. september 2004 - 14:51 #14
Jeg mener ikke at det kan ændres, men kun sættes under installering af MS SQL serveren.
Har du installeret den med Mixed authentication i sin tid?
Avatar billede Morten Nybegynder
09. september 2004 - 14:53 #15
Nope - det tror jeg ikke - i hvert fald kan jeg, når jeg opretter user, kun vælge enten det ene eller det andet...
Avatar billede fsconsult.dk Nybegynder
09. september 2004 - 14:58 #16
en user er altid enten det ene eller det andet...  men hvis du kan vælge imellem at oprette en user som nt-user eller sql-user, så er det mixed.
Avatar billede Morten Nybegynder
09. september 2004 - 15:01 #17
OKAY - MEN LIGE MEGET HJÆLPER ALTING..... ØV


Gad vide om det er nødvendigt at installerer Klienten??????

Jeg har prøvet stort set alt det andet som stod på den side du henviste til...
Avatar billede fsconsult.dk Nybegynder
09. september 2004 - 15:04 #18
prøv at installere klienten.  jeg mener at svagt at kunne huske, at klienten indeholder et API som andre programmer benytter for at snakke med MS SQL. hvilket også gør den brugbar på samme maskine som serveren ligger på.

du kan altid afinstallere den senere, hvis det ikke hjælper noget
Avatar billede Morten Nybegynder
09. september 2004 - 15:09 #19
Er igang håber det hjælper...
Avatar billede Morten Nybegynder
09. september 2004 - 15:15 #20
Og det hjælp ikke - tror du der skal gøres noget ud over at installerer klienten...?

Her er hvad jeg fik ved prøve din:


Warning: mssql_connect(): Unable to connect to server: 10.6.1.5 in c:\apache\htdocs\sql_test4.php on line 2

Warning: mssql_select_db(): supplied argument is not a valid MS SQL-Link resource in c:\apache\htdocs\sql_test4.php on line 3

Warning: mssql_query(): Unable to connect to server: (null) in c:\apache\htdocs\sql_test4.php on line 5

Warning: mssql_query(): A link to the server could not be established in c:\apache\htdocs\sql_test4.php on line 5

Warning: mssql_fetch_array(): supplied argument is not a valid MS SQL-result resource in c:\apache\htdocs\sql_test4.php on line 6
Avatar billede fsconsult.dk Nybegynder
09. september 2004 - 15:22 #21
nææ... ikke udover at sikre at den installerer ntwdblib.  mener der kan vælges flere ting til/fra ved installation af klient. Bl.a. "API" ..
Avatar billede Morten Nybegynder
09. september 2004 - 15:25 #22
den valgte jeg til (api)
Avatar billede fsconsult.dk Nybegynder
09. september 2004 - 15:32 #23
hmm...  har ikke flere ideer :-(
Avatar billede Morten Nybegynder
09. september 2004 - 15:34 #24
kan man skifte den der dll fil on the fly?

Den jeg har liggende er dateret 06-08-2000
den som ligger i PHP bib. er dateret 13-07-2004

Men som sagt kan jeg ikke genstarte serveren lige nu... så hvis man kan on the fly ville det være fjon
Avatar billede fsconsult.dk Nybegynder
09. september 2004 - 15:42 #25
tror ikke windows .dll's generelt kan skiftes on the fly... det er jo ik *NIX  ;-)
Avatar billede Morten Nybegynder
09. september 2004 - 15:44 #26
har du styr på dette? (jeg er snart desparat


I had problems connecting to an SQL 2000 database running on a W2K server from IIS6 on an Windows 2003 server. I got an error message saying  "Unable to connect to server: <server name>" all the time.

The 2003 server didn't have the MDAC components installed, installing the latest version (2.8 as of writing) seems to solve that problem.
Avatar billede Morten Nybegynder
09. september 2004 - 16:28 #27
JAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA nu virker det - tog også kun 7 timer....

Jeg fik skiftet .dll filen... jeg installerede klienten, jeg installerede sp3 til SQL samt alle de andre ting vi har haft oppe - så hvad der lige gjorde udslaget aner jeg ikke - men hælder til at det var dll filen...

Venligst smid et svar så jeg kan takke for ulejligheden og hjælpen...!!!!!
Avatar billede fsconsult.dk Nybegynder
09. september 2004 - 22:27 #28
svar  ;-)
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