2011-03-24 3 views
0

내 DSN 문자열은 다음과 같습니다심포니는 : SQL의 푸른의 DB에서 교리 스키마를 구축

dsn:  odbc:DRIVER={SQL Server};Server=myserver.database.windows.net;Database=mydb; 
    username: [email protected] 
    password: mypwd 

나는 심포니 작업을 실행하는 경우 :

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를 사용합니다.

답변

1

데이터베이스에 sp_primary_keys_rowset 저장 프로 시저가 있습니까? 심포니/lib 디렉토리/플러그인/sfDoctrinePlugin/lib 디렉토리/공급 업체/교리/I 변경했다 교리/가져 오기/Mssql.php listTableColumns ($ 테이블)

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

:

+0

아니요 찾을 수 없습니다. API 시스템 저장 프로 시저에 대한 MSDN 페이지를 찾았습니다. http://msdn.microsoft.com/en-us/library/ms187961.aspx – ownking

+0

Wenn이 일반적인 SQL Server DB를 살펴 봅니다. 이러한 필수 시스템 저장 프로 시저가 있지만 SQL Azure DB. – ownking

0

나는 해결책을 발견

to

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