5

我想在 Codeigniter 中构建一个应用程序,并且我想使用 SQL Server 2012 作为我的数据库

我还没有尝试过,我不知道我应该从哪里开始。

  1. 如何配置我的 Codeigniter 以使用 SQL Server 2012 数据库?

  2. 我可以使用 Codeigniter Active 记录从 SQL Server 数据库中检索数据吗?

  3. 如果我不能使用 Codeigniter,如何在我的 Codeigniter 模型中使用 SQL Server 查询?

请用示例代码给我一个详细的解释。

谢谢。

4

4 回答 4

1

在您的 application/config/database.php 文件中:

$db['sqlserver']['username'] = 'db_username';
$db['sqlserver']['password'] = 'db_password';
$db['sqlserver']['database'] = 'db_database';
$db['sqlserver']['hostname'] = 'sqlsrv:server=db_servername;Database=' . $db['sqlserver']['database'];
$db['sqlserver']['dbdriver'] = 'pdo';
$db['sqlserver']['dbprefix'] = '';
$db['sqlserver']['pconnect'] = FALSE;
$db['sqlserver']['db_debug'] = TRUE;
$db['sqlserver']['cache_on'] = FALSE;
$db['sqlserver']['cachedir'] = '';
$db['sqlserver']['char_set'] = 'utf8';
$db['sqlserver']['dbcollat'] = 'utf8_general_ci';
$db['sqlserver']['swap_pre'] = '';
$db['sqlserver']['autoinit'] = TRUE;
$db['sqlserver']['stricton'] = FALSE;

前四个值显然需要设置为您拥有的任何配置(db_username, db_password, db_database, db_servername)。

并设置活动组:

$active_group = 'sqlserver';

使用 PDO 通常更安全(https://code.tutsplus.com/tutorials/why-you-should-be-using-phps-pdo-for-database-access--net-12059)。

如果还没有安装/启用 sqlsrv PDO 驱动程序,请不要忘记安装/启用它。 https://www.microsoft.com/en-us/download/details.aspx?id=20098 - 如果在 Windows 上

于 2017-09-28T15:20:05.257 回答
0

首先这样做 https://docs.moodle.org/28/en/Installing_MSSQL_for_PHP 然后是 database.php 配置文件

$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'user';
$db['default']['password'] = 'pass';
$db['default']['database'] = '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;

它完成了!

确保服务器登录是经过身份验证的用户和密码,而不是 Windows 登录信息

于 2015-03-10T16:41:31.647 回答
0

可以通过在 config->database.php 中设置数据库来完成,添加自己的数据库配置,例如

//sql配置设置

$db['rajeev']['hostname'] = 'localhost';
$db['rajeev']['username'] = 'rajeev';
$db['rajeev']['password'] = 'rajeev@123';
$db['rajeev']['database'] = 'rajeev_ci';
$db['rajeev']['dbdriver'] = 'sqlsrv';
$db['rajeev']['dbprefix'] = '';
$db['rajeev']['pconnect'] = TRUE;
$db['rajeev']['db_debug'] = TRUE;
$db['rajeev']['cache_on'] = FALSE;
$db['rajeev']['cachedir'] = '';
$db['rajeev']['char_set'] = 'utf8';
$db['rajeev']['dbcollat'] = 'utf8_general_ci';
$db['rajeev']['swap_pre'] = '';
$db['rajeev']['autoinit'] = TRUE;
$db['rajeev']['stricton'] = FALSE;

然后像这样设置 $active_group

$active_group = 'rajeev';
于 2013-09-04T09:01:59.157 回答
0

@rajeev 有一些解决方案之一,但如果它不起作用,您可以尝试使用 ODBC 连接。ODBC 具有作为 CodeIgniter 应用程序和 SQL Server 2012 数据库之间的网关连接的功能。

将“sqlsrv”的值更改为“odbc”。

$db['db']['dbdriver'] = 'odbc';

要创建 ODBC 连接,您可以阅读此链接:http: //msdn.microsoft.com/en-us/library/ca6axakh%28v=vs.80%29.aspx

于 2014-09-23T03:40:56.900 回答