[ SSMS ] INSERT Fail , CONCAT_NULL_YIELDS_NULL, ANSI_WARNINGS , ANSI_PADDING 警告




SET
ANSI_WARNINGS
ANSI_PADDING

SSMS連線時這3個預設都是 on
用下列方式可以確認目前連線的SET內容:1.下指令   2.ssms查詢選項表單
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' 


























下列方式可以設定連線的預設SET內容

































處理方向

1.      取消SSMS3個選項再用SSMS試呼叫相同參數看看
2.      在資料庫的連線預設參數中加上這3個選項,php試呼叫看看
3.      為何之前的SP都不會有這情況?參考這3個選項的說明,檢討寫法可以如何調整

沒有留言:

張貼留言