Symfony:用sql azure db构建doctrine模式

时间:2011-03-24 15:36:20

标签: 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 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。

2 个答案:

答案 0 :(得分:1)

数据库中是否存在存储过程sp_primary_keys_rowset

答案 1 :(得分:0)

我找到了解决方案:

在symfony / lib / plugins / sfDoctrinePlugin / lib / vendor / doctrine / Doctrine / Import / Mssql.php listTableColumns($ table)我不得不改变

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

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