将Doctrine连接到MS SQL数据库
就在我开始之前,我一直在试图弄清楚这一点,并且点击了几乎所有的谷歌链接,并且我已经阅读了几乎所有关于此的其他问题。但我卡住了,因为正在为此提出的捆绑包已过期。所以请和我一起裸照。将Doctrine连接到MS SQL数据库
好吧,我正在创建一个网站。它是Microsoft Azure上托管的symfony2应用程序。我想要做的是能够使用教义当然从数据库中获取和创建用户。
现在从我一直在阅读,连接到这种类型的数据库,我必须使用称为“PDO_dblib”的驱动程序。
我已经安装了这个包,因为它似乎是唯一一个仍然活跃,不要引用我。
https://github.com/realestateconz/MssqlBundle
现在我在我的供应商的文件夹中安装这个,这是存储它的正确位置?像这样:
Project/
app/
src/
vendor/
realestate/
当然,我加入了捆绑到AppKernel像这样:
new Realestate\MssqlBundle\RealestateMssqlBundle();
以及最后但并非最不重要这里是我在我的配置文件:
doctrine:
dbal:
default_connection: default
connections:
default:
driver_class: Realestate\MssqlBundle\Driver\PDODblib\Driver
host: %database_host%
dbname: %database_prefix%%database_name%
user: %database_user%
password: %database_password%
所以我在这里做的是在说什么是使用这个驱动程序的原则?看不到还有什么可能。
我也为连接设置声明了我的parameters.yml。 PS:我正在开发Linux Mint上的Dev!
之前,我想这包我也跑的throught该网站的步骤步骤:https://dunglas.fr/2014/01/connection-to-a-ms-sql-server-from-symfony-doctrine-on-mac-or-linux/
但它再次被扔的错误,生病后的错误,我拿到楼下! 因此,为了记录我已经安装了freetds和php5-sybase。
是我得到的错误是这样的:
[Symfony\Component\Debug\Exception\ContextErrorException]
Warning: class_implements(): Class Realestate\MssqlBundle\Driver\PDODlib\Driver does not exist and could not be loaded
而且这个当我尝试做一个: PHP应用程序/控制台学说:数据库:创建
(我有我的实体成立)
,但我得到的命令以下错误创建:
[Symfony\Component\DependencyInjection\Exception\ParameterNotFoundException]
You have requested a non-existent parameter "database_prefix". Did you mean one of these: "database_port", "database_user"?
我一直在试图让这个工作在过去的几天,任何帮助将是太棒了!任何需要的信息都可以随意问到!
根据你的错误代码:
[Symfony的\分量\ DependencyInjection \异常\ ParameterNotFoundException]
您已请求不存在的参数 “database_prefix”。你的意思是其中之一:“database_port”,“database_user”?
看来你错过了配置参数“database_prefix”。
如果数据库中的表格有单位前缀,例如“core_user”,“core_tasks”...如果没有,您可以在文件parameters.yml
中配置此参数,您可以删除文件config.yml
中的dbname
行中的参数% database_prefix %
。
这里是我供你参考代码片段:
Config.yml: doctrine: dbal: default_connection: default connections: default: driver_class: Realestate\MssqlBundle\Driver\PDODblib\Driver host: %database_host% port: %database_port% dbname: %database_name% user: %database_user% password: %database_password%
parameters.yml: parameters: database_host: {your_sql_server_name}.database.windows.net database_port: 1433 database_name: {database_name} database_user: {username} database_password: {password}
而测试查询在控制器: $conn = $this->get('database_connection'); $data = $conn->fetchAll('SELECT * FROM Testtable'); var_dump($data);
如何你安装了捆绑包吗?使用作曲家? –
我不能找到需求线,所以我git克隆到我的供应商文件夹,会导致问题? – Calvin
如果你没有使用作曲家,那么你的自动加载文件可能没有被更新,这意味着你将无法加载该文件夹中的文件。你可以尝试手动更新这个文件,但是请自己帮忙,让作曲家工作,这样你就可以使用作曲家来安装它,这将使一切变得更加容易 –