Bonjour,
J'ai une procedure appélée proc_otc qui est sortie en erreur hier soir à 22H00mn 17s avec le message suivant :
Exception lev?dans ExecuteSQL: System.Data.Odbc.OdbcException: ERROR [01000] [DataDirect][ODBC Sybase Wire Protocol driver][SQL Server]Warning: Row size (2058 bytes) could exceed row size limit, which is 1962 bytes.

at System.Data.Odbc.OdbcConnection.HandleError(HandleRef hrHandle, SQL_HANDLE hType, RETCODE retcode)
at System.Data.Odbc.OdbcCommand.ExecuteReaderObject(CommandBehavior behavior, String method)
at System.Data.Odbc.OdbcCommand.ExecuteNonQuery()
at GenericTools.Base_Sybase.ExecuteSQL(String sSQL)
exec proc_otc '2007-12-03'
Après relance la procédure s'est correctement exécutée.
La procédure alimente la table dim_test dont la structure est:

(
CP_TradeAsset int NOT NULL,
CE_InstrumentClass int NOT NULL,
CE_Instrument int NOT NULL,
CE_Book smallint NOT NULL,
CE_CodeSource smallint NOT NULL,
CE_Grappe int NOT NULL,
CE_Index int NOT NULL,
TradeId varchar(15) NOT NULL,
AssetId varchar(15) NOT NULL,
Cust varchar(30) NOT NULL,
TradeStatus varchar(10) NOT NULL,
DealId varchar(40) NOT NULL,
StructureId varchar(40) NOT NULL,
TradeDate datetime NOT NULL,
InputDate datetime NOT NULL,
ValueDate datetime NOT NULL,
OrigMatDate datetime NOT NULL,
MatDate datetime NOT NULL,
Folder varchar(50) NOT NULL,
Ccy varchar(3) NOT NULL,
PorS char(1) NOT NULL,
Notional float NOT NULL,
MM_FX_Type varchar(10) NOT NULL,
FstCpEffect datetime NOT NULL,
NextFixing datetime NOT NULL,
BaseRate float NOT NULL,
InterestRate float NOT NULL,
InterestSpread float NOT NULL,
InterestBasis varchar(20) NULL,
InterestDmIndex varchar(20) NOT NULL,
InterestTerm varchar(10) NOT NULL,
SchedPayFreq varchar(20) NOT NULL,
SchedPayTime varchar(20) NOT NULL,
SchedResetFreq varchar(20) NOT NULL,
TermAssignStatus varchar(20) NOT NULL,
InterestFixFloat varchar(10) NOT NULL,
InterestCcy varchar(3) NOT NULL,
IntAvgType varchar(1) NOT NULL,
IntAccBasis varchar(10) NOT NULL,
CrossCcyNotExch varchar(7) NOT NULL,
SpotDate datetime NOT NULL,
BoughtAmount float NOT NULL,
SoldAmount float NOT NULL,
BoughtRate float NOT NULL,
SoldRate float NOT NULL,
BoughtCcy varchar(3) NOT NULL,
SoldCcy varchar(3) NOT NULL,
FwdBoughtAmount float NOT NULL,
FwdSoldAmount float NOT NULL,
XRate float NOT NULL,
Interest_UnderIndex varchar(10) NOT NULL,
OpForm varchar(10) NOT NULL,
Delivery varchar(5) NOT NULL,
Expiry varchar(5) NOT NULL,
Strike float NOT NULL,
Brokerage float NOT NULL,
ExeBrokerage float NOT NULL,
RedemptPrice float NOT NULL,
Settlement float NOT NULL,
TradeSpread float NOT NULL,
TradePrice float NOT NULL,
TradeYield float NOT NULL,
SettleDate datetime NOT NULL,
RepoType varchar(20) NOT NULL,
CollValue float NOT NULL,
Contrat varchar(25) NOT NULL,
Broker varchar(50) NULL,
CE_Issuer int NULL,
CE_Poste1 int NULL,
ProductType varchar(20) NULL,
Desk varchar(12) NULL,
Company varchar(12) NULL,
Marketer varchar(12) NULL,
Type varchar(20) NULL,
SecId varchar(80) NULL,
Categorie varchar(10) NULL,
Day1 varchar(12) NULL,
WellPriced char(1) NULL,
FacilityId varchar(10) NULL,
FacilityDesc varchar(40) NULL,
ObligationNbr float NULL,
Fee_limit varchar(30) NULL,
Fee_key_area varchar(30) NULL,
FundingLeg char(1) DEFAULT 'N' NOT NULL,
NonDeliverable char(1) NULL,
NDFSettlementPrice float NULL,
NDFSettlementCcy varchar(10) NULL
)
LOCK DATAROWS
go

Etes-vous familier avec ce problème ?