Symfony1 Symfony:从SQLAzure数据库构建条令模式

Symfony1 Symfony:从SQLAzure数据库构建条令模式,symfony1,doctrine,odbc,azure-sql-database,Symfony1,Doctrine,Odbc,Azure Sql Database,我的DSN字符串如下所示: dsn: odbc:DRIVER={SQL Server};Server=myserver.database.windows.net;Database=mydb; username: myusername@myserver password: mypwd 当我运行symfony任务时: symfony doctrine:build-schema 这似乎是一个成功的连接,但由于以下错误而中断: SQLSTATE[42000]: Syntax e

我的DSN字符串如下所示:

  dsn:      odbc:DRIVER={SQL Server};Server=myserver.database.windows.net;Database=mydb;
  username: myusername@myserver
  password: mypwd
当我运行symfony任务时:

symfony doctrine:build-schema
这似乎是一个成功的连接,但由于以下错误而中断:

SQLSTATE[42000]: Syntax error or access violation: 2812 
[Microsoft][SQL Server Native Client 10.0][SQL Server]Could not find stored procedure
'sp_primary_keys_rowset'. (SQLExecute[2812] at ext\pdo_odbc\odbc_stmt.c:254). 
Failing Query: "EXEC sp_primary_keys_rowset @table_name = Appointment"
有人知道这里有什么问题吗?我找不到任何关于这些错误代码的有用信息


我使用symfony 1.4.10、PHP 5.3、SQL Azure。

存储过程
sp\u primary\u keys\u行集
是否存在于数据库中?

我找到了解决方案:

在symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/doctrine/Import/Mssql.php列表列($table)中,我必须更改

$sql = 'EXEC sp_primary_keys_rowset @table_name = ' . $this->conn->quoteIdentifier($table, true);


不,我找不到。我找到了一个关于API系统存储过程的MSDN页面。我查看了一个普通的SQL Server数据库。我有这些必需的系统存储过程,但不在SQL Azure数据库中。
$sql = 'EXEC sp_pkeys @table_name = ' . $this->conn->quoteIdentifier($table, true);