Ratkaistu: ohjainta ei löytynyt (SQL: PRAGMA Foreign_keys = PÄÄLLÄ;)

Viimeisin päivitys: 09/13/2023
Kirjoittaja: SQL SourceTrail

Toki, sukeltakaamme sisään.

SQL on universaali tietokantojen käsittelykieli, joka on erittäin laajalle levinnyt nykypäivän digitaalisella aikakaudella. Mutta joskus kehittäjät voivat kohdata ongelmia. Yksi yleinen ongelma, jota kehittäjä voi kohdata, on "ohjainta ei löydy (SQL: PRAGMA vierasavaimia = ON;)" -virhe. Tämä virhe johtuu yleensä oikean ajurin puuttumisesta tietokantayhteydelle.

Kuinka ratkaista "Ohjainta ei löydy (SQL: PRAGMA Foreign_keys = ON;)"

Ratkaisu tähän ongelmaan on suhteellisen suoraviivaista. Se edellyttää yleensä oikean SQLite-ohjaimen asentamista, joka tarvitaan kommunikointiin SQLite-tietokannan kanssa. Esimerkiksi PHP:ssä tämä tarkoittaa, että komento extension=pdo_sqlite on joko käännetty PHP:hen tai lisätty php.ini-tiedostoon.

Ensimmäinen askel sen tarkistamiseksi, onko ohjain on jo asennettu on käyttää getAvailableDrivers()-funktiota.

print_r(PDO::getAvailableDrivers());

Jos tämä toiminto ei sisällä 'sqlite', se tarkoittaa, että sinun on asennettava SQLite-ohjain PHP-asennusta varten.

Vaiheittainen opas ongelman ratkaisemiseen

1. Avaa PHP:n asetustiedosto php.ini, joka löytyy yleensä PHP-asennuskansiostasi.
2. Vieritä tai etsi php.ini-tiedostoa alaspäin löytääksesi rivi ';extension=php_pdo_sqlite.dll'.
3. Poista tämän rivin kommentit poistamalla puolipiste (';') rivin alusta.
4. Tallenna ja sulje php.ini-tiedosto.
5. Käynnistä verkkopalvelin uudelleen.

Kun olet tehnyt tämän, "sqlite" pitäisi nyt ilmestyä, kun suoritat getAvailableDrivers()-funktion. Tämä tarkoittaa, että PHP-asennuksesi voi nyt kommunikoida sqlite-tietokantojen kanssa, ja "Ohjainta ei löydy (SQL: PRAGMA Foreign_keys = ON;)" -virhe pitäisi korjata.

Tähän ongelmaan liittyvät entiteetit

Tähän virheeseen liittyy useita entiteettejä SQLite-ajurin lisäksi. Ensinnäkin on PHP Data Objects (PDO) -laajennus – tietokannan abstraktiokerros, joka tarjoaa yhtenäisen tavan päästä käsiksi useisiin tietokantoihin.

On tärkeää ymmärtää nämä kokonaisuudet koska se voi antaa sinulle lisätietoa PHP:n ja SQL:n sisäisestä toiminnasta ja tunnistaa, miksi tiettyjä virheitä, kuten "Ohjainta ei löydy (SQL: PRAGMA vierasavaimia = PÄÄLLÄ;)" esiintyy.

  • SAN: Tämä on PHP Data Objects, joka määrittelee kevyen ja johdonmukaisen käyttöliittymän tietokantoihin pääsyä varten PHP:ssä. Se voi teoriassa muodostaa yhteyden mihin tahansa tietokantaan, jos oikea ohjain on asennettu, jolloin SQLite-ajurimme tulee käyttöön.
  • SQLite: Tämä on relaatiotietokannan hallintajärjestelmä, joka on upotettu loppuohjelmaan. Se on suosittu valinta paikalliseen/asiakastallennustilaan verkkoselaimissa.
  • PRAGMA: Tämä on SQLitessa käytetty komento, joka toimii menetelmänä sekä tiedustelee tietokannasta, kuinka sen tulisi käsitellä tiettyjä tehtäviä.

Kun ymmärrät nämä osat, voit saada selkeämmän kuvan siitä, miten eri ohjelmat toimivat vuorovaikutuksessa ja kuinka voit tehdä vianmäärityksen paremmin ongelmien ilmetessä.

Related viestiä: