पता चलता है कि समस्या को SET मापदंडों के साथ करना था। मैंने यहां . यह निर्धारित करने के लिए कि SQL सर्वर प्रबंधन स्टूडियो में कौन से विकल्प सेट किए गए थे (जहाँ सम्मिलित कार्य किया गया था)। फिर उनमें से प्रत्येक को मेरे सम्मिलित विवरण से पहले निष्पादन में रखने से चीजें फिर से काम करने लगीं। मुझे सभी विकल्पों को रखने की आवश्यकता नहीं थी, इसलिए नीचे मैं उन्हें दिखाता हूँ जो इसे काम करने के लिए आवश्यक थे।
DECLARE @options INT
SELECT @options = @@OPTIONS
PRINT @options
IF ( (1 & @options) = 1 ) PRINT 'DISABLE_DEF_CNST_CHK'
IF ( (2 & @options) = 2 ) PRINT 'IMPLICIT_TRANSACTIONS'
IF ( (4 & @options) = 4 ) PRINT 'CURSOR_CLOSE_ON_COMMIT'
IF ( (8 & @options) = 8 ) PRINT 'ANSI_WARNINGS'
IF ( (16 & @options) = 16 ) PRINT 'ANSI_PADDING'
IF ( (32 & @options) = 32 ) PRINT 'ANSI_NULLS'
IF ( (64 & @options) = 64 ) PRINT 'ARITHABORT'
IF ( (128 & @options) = 128 ) PRINT 'ARITHIGNORE'
IF ( (256 & @options) = 256 ) PRINT 'QUOTED_IDENTIFIER'
IF ( (512 & @options) = 512 ) PRINT 'NOCOUNT'
IF ( (1024 & @options) = 1024 ) PRINT 'ANSI_NULL_DFLT_ON'
IF ( (2048 & @options) = 2048 ) PRINT 'ANSI_NULL_DFLT_OFF'
IF ( (4096 & @options) = 4096 ) PRINT 'CONCAT_NULL_YIELDS_NULL'
IF ( (8192 & @options) = 8192 ) PRINT 'NUMERIC_ROUNDABORT'
IF ( (16384 & @options) = 16384 ) PRINT 'XACT_ABORT'
यहां वे विकल्प दिए गए हैं जिनकी मुझे आवश्यकता थी:
$dbPDO->exec("SET ANSI_WARNINGS ON");
$dbPDO->exec("SET ANSI_PADDING ON");
$dbPDO->exec("SET ANSI_NULLS ON");
$dbPDO->exec("SET QUOTED_IDENTIFIER ON");
$dbPDO->exec("SET CONCAT_NULL_YIELDS_NULL ON");
अद्यतन:ऐसा लगता है कि FK बाधाओं के परिणामस्वरूप निम्न त्रुटि हुई। उपरोक्त ने इस त्रुटि को भी ठीक किया।