Codeigniter к соединению SQL-Server с использованием XAMPP - PullRequest
0 голосов
/ 26 июня 2018

В настоящее время мой проект работает на

XAMPP Version 1.7.3
Codeigniter Version 2.1.4
SQL-Server - Microsoft SQL Server 2012 (SP4-GDR) (KB4057116) - 11.0.7462.6 (X64)

Он работал нормально, но база данных растет день ото дня, и производительность также снижается аналогичным образом.Кроме того, из-за нескольких других серьезных проблем мы вынуждены перейти на SQL-сервер.Теперь база данных полностью перенесена на SQL-сервер из MySQL.

Проблема в соединении Codeigniter -> SQL-Server при использовании сервера XAMPP.Я пробовал так много кодов, которые можно найти в Google, но ни один из них не работает.Один из них у меня есть

$active_group = 'default'; 
$query_builder = TRUE; 
$db['default'] = array( 
'dsn'   => '', 
'hostname' => 'MSSQLSERVER', 
'username' => '', 
'password' => '', 
'database' => 'test',  --changed
'dbdriver' => 'sqlsrv', 
'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 
);

Я разработчик базы данных, поэтому не смог сделать никаких дополнений в код из-за отсутствия идей.Итак, не могли бы вы поделиться своими идеями, чтобы решить эту проблему.Я ожидаю подробных шагов.Это не проблема, если мне нужно обновить свои версии или изменить что-либо еще, но я не могу изменить сам фреймворк.

1 Ответ

0 голосов
/ 14 августа 2018

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

1 - Настройка файлов конфигурации CI и другие настройки по следующей ссылке

https://futbolsalas15.wordpress.com/2014/02/23/7-steps-to-make-sql-server-and-codeigniter-works/

После внесения вышеуказанных изменений, в моем случае оно все еще останется неполным, и я сделал следующие дополнительные изменения

IN FILE : system \ database \ DB.php

require_once(BASEPATH.'database/DB_driver.php'); --Find this line
$active_record=TRUE;    --Add this line below

В ФАЙЛЕ : system \ database \ DB_driver.php

var $dbdriver = 'mysql'; --Replace `mysql` with `sqlsrv`

Метод вызова SP, предположим, что у вас есть sp_report с четырьмя параметрами, как показано ниже:

--From Mysql
$call_proc = "CALL sp_report('b', 'a', $date_from, $date_to)"

--From SQLServer
$call_proc = "DECLARE @p_report_type CHAR(1) = 'b',
    @p_sub_type CHAR(1) = 'a',
    @p_date_from VARCHAR(10) = '".$date_from."',
    @p_date_to VARCHAR(10) = '".$date_to."'

    EXEC sp_report @p_report_type, @p_sub_type, @p_date_from, @p_date_to"

Это все, мой друг, надеюсь, что все будет работать как положено.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...