php - Fejl: Meddelelse: Kan ikke oprette forbindelse til databasen

Indlæg af Hanne Mølgaard Plasc

Problem



jeg bruger


1- Windows Server 2012 R2


2- SQL Server 2014


3-kodeigniter 3.1


4- PHP 5.6


5- php\_sqlsrv\_56\_ts.dll


Jeg får denne fejl nogle gange:


An uncaught Exception was encountered 
Type: RuntimeException
Message: Unable to connect to the database.
Filename: C:wedwedsystemdatabaseDB\_driver.php Line Number: 433
Backtrace:
File: C:wedwedwebapplicationcoreMY\_Controller.php Line: 10
Function: \_\_construct
File: C:wedwedwebapplicationcontrollerssanjeh.php Line: 12
Function: \_\_construct
File: C:wedwedwebindex.php Line: 317
Function: require\_once

Bedste reference


Fejlen du viser for SQLSRV driveren indebærer, at DLL'en aldrig læses. Hvad siger din php\_info () ?.


Har du også SQL Server Native Access Client (SNAC) 10 installeret? SQLSRV-driveren kræver det.


CodeIgniter's indbyggede ODBC-driver, som tilføjer apostrofer rundt om bordnavnet. Jeg kigger hurtigt igennem odbc\_driver.php, ændrede måden tabellerne henvises til, og som løste problemet


//Database Config file database.php in My case
$db['default']['hostname'] = "Driver={SQLServer};Server=127.0.0.1YouSqlServerName;Database=DBName;Uid=username;Pwd=password;";
$db['default']['port'] = '1433';
$db['default']['username'] = 'username';
$db['default']['password'] = 'password';
$db['default']['database'] = 'DBName';
$db['default']['dbdriver'] = 'odbc';

Andre referencer 1


Gå til applikation/config/database


https://codeigniter.com/user\_guide/database/configuration.html[4]


og sæt


    'hostname' => 'localhost',
    'username' => 'root',
    'password' => '',
    'database' => 'database\_name',
    'dbdriver' => 'mysqli',