Mysql 使用php activerecord/Codeigniter迁移到sql azure

Mysql 使用php activerecord/Codeigniter迁移到sql azure,mysql,sql-server,codeigniter,activerecord,phpactiverecord,Mysql,Sql Server,Codeigniter,Activerecord,Phpactiverecord,我想将一个数据库从MySql迁移到基于云的Sql Azure平台。我目前正在使用带有codeigniter框架的php-Activerecord-0.0.1,它与MySql配合使用非常好 要连接SQL Server,我尝试了以下过程: 1我能够使用url:上提供的SqlSrv适配器连接到sql server数据库 2连接后,所有现有的activerecord查询都会抛出一个错误。这意味着所有的php activerecord查询都与SqlServer db不兼容 我得到了以下错误: 1遇到一个P

我想将一个数据库从MySql迁移到基于云的Sql Azure平台。我目前正在使用带有codeigniter框架的php-Activerecord-0.0.1,它与MySql配合使用非常好

要连接SQL Server,我尝试了以下过程:

1我能够使用url:上提供的SqlSrv适配器连接到sql server数据库

2连接后,所有现有的activerecord查询都会抛出一个错误。这意味着所有的php activerecord查询都与SqlServer db不兼容

我得到了以下错误:

1遇到一个PHP错误

严重性:通知

消息:未定义的偏移量:0

文件名:lib/Model.php

行号:1663

2遇到一个PHP错误

严重性:通知

消息:未初始化的字符串偏移量:-1

文件名:adapters/SqlsrvAdapter.php

电话号码:35

我在当前的查询中也遇到了一些错误,如:

致命错误:未捕获异常“ActiveRecord\DatabaseException”,消息为“420001038,[Microsoft][SQL Server Native Client 11.0][SQL Server]缺少对象或列名或为空。对于SELECT INTO语句,请验证每个列都有名称。对于其他语句,请查找空别名。不允许定义为或[]的别名。将别名更改为有效名称。'在php activerecord\0.0.1\vendor\php activerecord\lib\Connection.php:318堆栈跟踪:0 php activerecord\0.0.1\vendor\php activerecord\lib\Table.php218:activerecord\Connection->query'SELECT*FROM[…],数组1 php activerecord\0.0.1\vendor\php activerecord\lib\Table.php209:activerecord\Table->find_by_sql'SELECT*FROM[…',数组,false,NULL 2 php-activerecord\0.0.1\vendor\php-activerecord\lib\Model.php1577:activerecord\Table->findArray 3 C:php-activerecord\0.0.1\vendor\php-a在php-activerecord\0.0.1\vendor\php-activerecord\lib\Connection.php第318行

我可以通过在php activerecord\0.0.1\vendor\php activerecord\lib中对Model.php/Table.php或SQLBuider进行一些主要或次要的更改来使用php-activerecord查询sql server数据库吗


请就此向我提供建议。

我抛出了什么错误?可能是因为你没有适合mssql pdo的pdo驱动程序?谢谢你的评论,Nanne,我已经编辑了上面的问题,包括我遇到的错误。还有一件事,这是指php activerecord,而不是codeigniter activerecords。这一点很清楚,因为标签。我s不太清楚,问题是看一下格式按钮并使用预览。例如,有用于引用和代码的按钮。谈到代码,您可能想显示一些。您做了什么调用?您能用很少的代码制作一个仍然显示错误的示例吗?请参见