Как подключиться к базе данных SQL Server в CodeIgniter?

Как подключиться к базе данных SQL Server в CodeIgniter?

Я сейчас запускаю приложение в CodeIgniter, и я бы хотел использовать SQL Server.

$active_group = 'default'; $active_record = TRUE; $db['default']['hostname'] = '#.#.#.27'; $db['default']['username'] = '@@@@@@'; $db['default']['password'] = '@@@@@@@@@'; $db['default']['database'] = '$$$$$$$$$$$$$'; $db['default']['dbdriver'] = 'mssql'; $db['default']['dbprefix'] = ''; $db['default']['pconnect'] = TRUE; $db['default']['db_debug'] = TRUE; $db['default']['cache_on'] = FALSE; $db['default']['cachedir'] = ''; $db['default']['char_set'] = 'utf8'; $db['default']['dbcollat'] = 'utf8_general_ci'; $db['default']['swap_pre'] = ''; $db['default']['autoinit'] = TRUE; $db['default']['stricton'] = FALSE; 

После автоматической загрузки базы данных отображается только пустая белая страница без ошибок. Не могли бы вы рассказать мне, какие еще изменения я должен внести для работы с базой данных SQL Server?

 #autoload.php# $autoload['libraries'] = array('database'); 

использовать использовать $ db ['default'] ['dbdriver'] = 'sqlsrv';
и установите Microsoft Drivers for PHP для SQL Server на windows

Соединение CodeIgniter MSSQL

Я не мог заставить его работать с поддерживаемым драйвером mssql поэтому я использовал sqlsrv

Обычно я подключаюсь к ip, порту в качестве имени hostname , поэтому я изменил это.

pconnect также дал мне проблемы. Я установил его в FALSE и он начал работать.

Вот конфигурация, в которой я работал:

 $db['default']['hostname'] = '127.0.0.1,1433'; $db['default']['username'] = 'username1'; $db['default']['password'] = 'secretpassword'; $db['default']['database'] = 'databasename'; $db['default']['dbdriver'] = 'sqlsrv'; $db['default']['pconnect'] = FALSE; $db['default']['db_debug'] = TRUE; $db['default']['cache_on'] = FALSE; $db['default']['autoinit'] = TRUE; $db['default']['stricton'] = FALSE; 

Как насчет этого? Я видел, как он работает на некоторых серверах. Это сервер Windows?

 $db['default']['dbdriver'] = "odbc"; $db['default']['dbprefix'] = ""; $db['default']['pconnect'] = FALSE; $db['default']['db_debug'] = TRUE; $db['default']['cache_on'] = FALSE; 

далее: http://codefury.net/2011/01/codeigniter-php-iis-mysql-mssql/

надеюсь это поможет

Код конфигурации в порядке. Дальнейшее чтение здесь

ЕСЛИ вы считаете, что ошибки не отображаются, а затем перейдите в index.php и на верхнем месте следующий фрагмент, чтобы показать ошибки.

 error_reporting(E_ALL); 

Другое, тогда эта проверка, если служба MSSQL запущена и доступна. Может быть создан простой .php и попробовать соединение с обычными кодами .

Не-файл CI Что-то вроде,

 <?php $server = 'YOURPC\SQLEXPRESS'; $link = mssql_connect($server, 'user', 'pass'); if (!$link) { die('Something went wrong while connecting to MSSQL'); } ?> 

это тот же процесс, что и mysql. используйте ту же конфигурацию, которая приведена ниже:

$ active_group = 'default'; $ active_record = TRUE;

$ db ['default'] ['hostname'] = 'xxx.xx.xx.xx \ SQLEXPRESS';

$ db ['default'] ['username'] = 'sa';

$ db ['default'] ['password'] =

«ХХХХХХХ»; $ db ['default'] ['database'] = 'xxxxx';

$ db ['default'] ['dbdriver'] = 'mssql';

$ db ['default'] ['dbprefix'] = '';

$ db ['default'] ['pconnect'] = TRUE;

$ db ['default'] ['db_debug'] = TRUE;

$ db ['default'] ['cache_on'] = FALSE;

$ db ['default'] ['cachedir'] = '';

$ db ['default'] ['char_set'] = 'utf8';

$ db ['default'] ['dbcollat'] => 'utf8_general_ci';

$ db ['default'] ['swap_pre'] = '';

$ db ['default'] ['autoinit'] = TRUE;

$ db ['default'] ['stricton'] = FALSE;

В вашей модели используйте то же самое, что и

функция selectagent ($ table, $ agent) {

$ field = $ this-> db-> get_where ($ table, array ('var1' => $ agent, 'day (date)' => date ('d')));

  $fields=$field->result(); return $fields; } 

Я просто решил эту проблему. И я подключился к MSSQL, размещенному на microsoft Azure

Я последовал за несколькими исследовательскими работами в Интернете:

database.cfg:

 $db['default']['hostname'] = 'XXXXXXX.database.windows.net'; $db['default']['username'] = 'username'; $db['default']['password'] = 'password'; $db['default']['database'] = 'databasename'; $db['default']['dbdriver'] = 'sqlsrv'; $db['default']['dbprefix'] = ''; $db['default']['pconnect'] = FALSE; $db['default']['db_debug'] = TRUE; $db['default']['cache_on'] = FALSE; $db['default']['cachedir'] = ''; $db['default']['char_set'] = 'utf8'; $db['default']['dbcollat'] = 'utf8_general_ci'; $db['default']['swap_pre'] = ''; $db['default']['autoinit'] = TRUE; $db['default']['stricton'] = FALSE; 

В основном dbdriver, pcconnect и имя хоста вы должны правильно настроить. Отдых распространен. Получите имя хоста из ваших данных базы данных azure.

И я также модифицировал пару системных файлов, поскольку я слышал, что были проблемы с драйвером DB.

системы / базы данных / драйвера / SQLSRV / sqlsrv_driver.php

 function db_pconnect() { //$this->db_connect(TRUE); return $this->db_connect(TRUE); } 

а также

 function affected_rows() { //return @sqlrv_rows_affected($this->conn_id); return @sqlsrv_num_rows($this->result_id); } 

Я смог подключиться к базе данных и создать приложение базы данных.

Надеюсь, это поможет кому-то в этом нуждается 🙂

Выполните следующие простые шаги:

  1. Установите экземпляр с «смешанным режимом» -enabled. Если ваш неуверенный просмотр – видео начинается в правильной последовательности. Может быть, это хорошая идея, чтобы посмотреть его полностью.

  2. измените db-config в ' … ci / application / config / database.php '

     $active_group = 'default'; $query_builder = TRUE; $db['default'] = array( 'dsn' => '', 'hostname' => 'localhost', 'username' => 'sa', // <- use 'sa' 'password' => 'THE_PASSWORD_YOU_SET_ON_INSTALL', // "mixed-mode" 'database' => 'ci', 'dbdriver' => 'sqlsrv', // 'dbdriver' => 'mysqli', // <- my old "non-server" config (approx. 70% slower) 'dbprefix' => '', 'pconnect' => FALSE, 'db_debug' => (ENVIRONMENT !== 'production'), 'cache_on' => FALSE, 'cachedir' => '', 'char_set' => 'utf8', 'dbcollat' => 'utf8_general_ci', 'swap_pre' => '', 'encrypt' => FALSE, 'compress' => FALSE, 'stricton' => FALSE, 'failover' => array(), 'save_queries' => TRUE ); 

введите описание изображения здесь