Acties:
  • 0 Henk 'm!

  • mac-er
  • Registratie: November 2006
  • Laatst online: 01-09 12:55
Hallo,

Ik ben van plan een php applicatie te gaan bouwen op een server die wat data moet afhalen van een MSSQL server.

De MSSQL server bestaat reeds, en de webserver ook.
De webserver draait op Debian Lenny met PHP, MySQL en Apache er op.

Nu kan ik me herinneren (als ik me niet vergis) dat ik ooit eens ergens iets heb gelezen over een storage engine voor mysql waarmee je als het ware je data haalt uit mysql, maar mysql haalt vervolgens zonder dat je het ziet via de bepaalde storage engine de data op op de mssql server. Weet iemand welke storage engine dit moet zijn? Want dat zou de meest handige oplossing zijn.

Alternatief is om iets te gaan installeren op de webserver zodat php verbinding kan maken met de MSSQL server. Nu heb ik wel al vanalles gevonden, maar allemaal is het weer wat verschillend, en niet helemaal duidelijk. Aangezien de webserver straks ook in de productieomgeving gaat komen is het belangrijk dat dit dus goed en stabiel zal werken.

Daarom wil ik vragen wat ik nu precies moet doen, of waar ik een goede en betrouwbare handleiding kan vinden zodat ik op een debian server via php met een externe (wel op het lokale netwerk) mssql verbinding kan krijgen.

De acties die ik straks moet gaan doen zijn alleen maar selectiequery's, en met die data moet dan vervolgens wat worden weergegeven. Bijwerken of toevoegen of wat dan ook van de data hoeft allemaal niet te werken.

Als iemand nog alternatieven heeft is het natuurlijk ook prima!

To Apple or not to Apple? That's the banana!


Acties:
  • 0 Henk 'm!

  • Victorius737
  • Registratie: Augustus 2005
  • Laatst online: 08-09 10:48
Gewoon locale connectie maken naar de mssql server via php. Met een user die alleen maar lees rechten heeft.

Acties:
  • 0 Henk 'm!

  • kKaltUu
  • Registratie: April 2008
  • Laatst online: 02-09 19:59

kKaltUu

Profesionele Forumtroll

Meen je freetds te herrineren?
En is is het onmogelijk om mssql_connect() te gebruiken?

Bovenstaande is mijn post. Lees deze aandachtig, dank u wel voor uw medewerking.


Acties:
  • 0 Henk 'm!

  • mac-er
  • Registratie: November 2006
  • Laatst online: 01-09 12:55
@Victorius737, de rechten zijn het probleem niet. Ik wil alleen maar daarmee aangeven dat er niet erg zware of vreemde zaken worden gedaan.

Freetds is niet wat ik bedoel, ik dacht dat het echts iets was van een opslag engine voor MySQL.

Maar goed, ik kan geen mssql_connect() doen (uiteraard met alle gegevens zoals host en username erbij).
De server geeft dan een foutmelding in de trant van dat hij het commando niet kent, en dat is ook logisch omdat hij niks van MSSQL heeft geinstalleerd.

Ik heb helaas even niet de exacte melding, ik zit nu niet op het betreffende netwerk, dat is namelijk enkel lokaal beschikbaar.

Ik zal dus waarschijnlijk echt iets moeten gaan installeren, ik weet alleen niet wat en hoe.

To Apple or not to Apple? That's the banana!


Acties:
  • 0 Henk 'm!

  • WhizzCat
  • Registratie: November 2001
  • Laatst online: 15-05-2024

WhizzCat

www.lichtsignaal.nl

Je moet in php.ini de MSSQL extension aanzetten. Daarna kan je gebruik maken van de MSSQL functies in PHP. Op www.php.net staat dit allemaal perfect uitgelegd in de handleiding :) http://nl3.php.net/manual/en/mssql.installation.php vanaf hier kun je daar denk ik wel iets mee :)

Gezocht: netwerkbeheerder
Als je het niet aan een 6-jarige kan uitleggen, snap je er zelf ook niks van! - A. Einstein


Acties:
  • 0 Henk 'm!

  • mac-er
  • Registratie: November 2006
  • Laatst online: 01-09 12:55
De extensie staat aan, en FreeTDS is geinstalleerd.

In PHP Info zie ik dit ook staan.

Daar staat een verwijzing naar:
/etc/php5/apache2/conf.d/mssql.ini,

En in de genoemde file staat:
code:
1
2
; configuration for php Sybase module
extension=mssql.so


en verder staat er nog bij phpinfo();
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
mssql

MSSQL Support   enabled
Active Persistent Links 0
Active Links    0
Library version FreeTDS

Directive   Local Value Master Value
mssql.allow_persistent  On  On
mssql.batchsize 0   0
mssql.charset   no value    no value
mssql.compatability_mode    Off Off
mssql.connect_timeout   5   5
mssql.datetimeconvert   On  On
mssql.max_links Unlimited   Unlimited
mssql.max_persistent    Unlimited   Unlimited
mssql.max_procs Unlimited   Unlimited
mssql.min_error_severity    10  10
mssql.min_message_severity  10  10
mssql.secure_connection Off Off
mssql.textlimit Server default  Server default
mssql.textsize  Server default  Server default
mssql.timeout   60  60


Hoe kan ik nu testen of hij goed is geinstalleerd?

Ik krijg namelijk met een script:
PHP:
1
2
3
4
5
6
7
8
9
<?php
    $link = mssql_connect('192.168.100.9', 'domein\administrator', '*****');
    if(!$link) {
        echo'Could not connect';
        die('Could not connect: ' . mssql_error());
    }
    echo'Successful connection';
    mssql_close($link);
?>

(uiteraard alle waarden goed ingevuld van de login)

enkel en alleen een error terug, maar zonder output van de mssql_error().

Probleem is dat ik nu niet weet waar het probleem ergens zit.

Op de MSSQL server staat de instancenaam volgens mij blanco, en authenticatie op windows authentication.
Hoe kan ik nu het een en ander testen zodat ik weet waar het probleem zit?

To Apple or not to Apple? That's the banana!


Acties:
  • 0 Henk 'm!

  • software
  • Registratie: Mei 2003
  • Laatst online: 02-01 09:26
Wij gebruiken voor een connectie te leggen naar MSSQL de extentie sybase.
Voor ubuntu in de repo's te vinden onder php5-sybase. Ik veronderstel dat dit bij Debian ook zo is.

Wanneer de extentie geinstalleerd is kan je de mssql_connect functie gebruiken

[ Voor 19% gewijzigd door software op 24-06-2010 10:09 ]


Acties:
  • 0 Henk 'm!

  • P_de_B
  • Registratie: Juli 2003
  • Niet online
Je moet de server op Mixed mode authentication zetten, dus Windows en SQL. Vanaf een debian server die niet in het domein zit gaat het niet lukken om met windows logins te werken. Sowieso geef je dan geen username en wachtwoord van een domeingebruiker mee.

Oops! Google Chrome could not find www.rijks%20museum.nl


Acties:
  • 0 Henk 'm!

  • mac-er
  • Registratie: November 2006
  • Laatst online: 01-09 12:55
Thanks!

Nu ik mixed authentication heb aangezet op de SQL server werkt het perfect!

Iedereen bedankt voor de hulp ;-)

To Apple or not to Apple? That's the banana!


Acties:
  • 0 Henk 'm!

  • P_de_B
  • Registratie: Juli 2003
  • Niet online
Heb ik ook eens iemand in het enge NOS geholpen *O*

Oops! Google Chrome could not find www.rijks%20museum.nl


Acties:
  • 0 Henk 'm!

  • mac-er
  • Registratie: November 2006
  • Laatst online: 01-09 12:55
Yup... en goed geholpen!

To Apple or not to Apple? That's the banana!


Acties:
  • 0 Henk 'm!

  • mac-er
  • Registratie: November 2006
  • Laatst online: 01-09 12:55
Weet toevallig ook nog iemand hoe ik php5-sybase kan instelleren op een Snow Leopard server?

To Apple or not to Apple? That's the banana!

Pagina: 1