Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Max size of a query
Message
Information générale
Forum:
Visual FoxPro
Catégorie:
Client/serveur
Divers
Thread ID:
00692041
Message ID:
00692164
Vues:
19
The funny thing is, i ran a trace on the sql server and the whole string got though. So I think the sqlexec worked fine. For some reason the sql server didnt finish all the inserts.

>Mike,
>
>Yes there is a string limit however you can get around it by breaking the SELECT into multiple variables, here's an example of a pretty large query being sent through to SQL Server;
>
>
>lcSQL1 = "select DO.iDocPK AS iDocPK, SUBSTRING(DO.mDocContent,1,120) AS Title, PE.iPsnPK AS iPsnPK, " + ;
>         "FL.tWFTimeStamp AS Stamp, PE.cPsnlName AS LName, PE.cPsnFName AS FName, " + ;
>         "PE.cPsnMName AS MName, RT.cRTypeDesc AS RTypeDesc, ISNULL(TL.cTitDetail, ' ') AS Titles, " + ;
>         "ISNULL(CO.cConDetail, ' ') AS EMail, ISNULL(COP.cConDetail, ' ') AS Phone, DO.tDocDateStamp AS tDocDateStamp "
>lcSQL2 = "FROM WFlowLocs FL JOIN DocStru DS ON FL.iDocFK = DS.iDocFK JOIN Document DO ON FL.iDocFK = DO.iDocPK " + ;
>         "JOIN RoleType RT ON FL.iNextRTypeFK = RT.iRtypePK JOIN Role RO ON RO.iDocFK = DO.iDocPK " + ;
>         "JOIN Person PE ON RO.iParFK = PE.iPsnPK AND RO.cParType = 'PSN' " + ;
>         "JOIN RoleType RTP ON RO.iRTypeFK = RTP.iRTypePK LEFT OUTER JOIN TitLink TL ON PE.iPsnPK = TL.iPsnFK "
>lcSQL3 = "LEFT OUTER JOIN TitleType TT ON TL.iTitTypeFK = TT.iTitTypePK " + ;
>         "LEFT OUTER JOIN ConLink CL ON CL.iOwnerFK = PE.iPsnPK " + ;
>         "LEFT OUTER JOIN Contacts CO ON CL.iConFK = CO.iConPk " + ;
>         "LEFT OUTER JOIN ContactType CT ON CO.iConTypeFK = CT.iConTypePK "
>LCSQL4 = "LEFT OUTER JOIN ConLink CLP ON CLP.iOwnerFK = PE.iPsnPK " + ;
>         "LEFT OUTER JOIN Contacts COP ON CLP.iConFK = COP.iConPk " + ;
>         "LEFT OUTER JOIN ContactType CTP ON COP.iConTypeFK = CTP.iConTypePK "
>lcSQL5 = "WHERE DS.cDocSectionID LIKE '" + m.pcDocID + "-%' " + ;
>         "AND RTP.cRTypeDesc = '" + m.lcRole + "' AND CT.cConType = 'E-Mail Address' " + ;
>         "AND CTP.cConType = 'Home Phone' " + ;
>         "UNION ALL " + ;
>         "select DO.iDocPK AS iDocPK, SUBSTRING(DO.mDocContent,1,120) AS Title, PE.iPsnPK AS iPsnPK, "
>lcSQL6 = "NULL AS Stamp, PE.cPsnlName AS LName, PE.cPsnFName AS FName, PE.cPsnMName AS MName, " + ;
>         "RTP.cRTypeDesc AS RTypeDesc, ISNULL(TL.cTitDetail, ' ') AS Titles, ISNULL(CO.cConDetail, ' ') " + ;
>         "AS EMail, ISNULL(COP.cConDetail, ' ') AS Phone, DO.tDocDateStamp AS tDocDateStamp FROM DocStru DS  " + ;
>         "JOIN Document DO ON DS.iDocFK = DO.iDocPK JOIN Role RO ON RO.iDocFK = DO.iDocPK "
>lcSQL7 = "JOIN Person PE ON RO.iParFK = PE.iPsnPK AND RO.cParType = 'PSN' " + ;
>         "JOIN RoleType RTP ON RO.iRTypeFK = RTP.iRTypePK LEFT OUTER JOIN TitLink TL ON PE.iPsnPK = TL.iPsnFK " + ;
>         "LEFT OUTER JOIN TitleType TT ON TL.iTitTypeFK = TT.iTitTypePK " + ;
>         "LEFT OUTER JOIN ConLink CL ON CL.iOwnerFK = PE.iPsnPK " + ;
>         "LEFT OUTER JOIN Contacts CO ON CL.iConFK = CO.iConPk " + ;
>         "LEFT OUTER JOIN ContactType CT ON CO.iConTypeFK = CT.iConTypePK "
>lcSQL8 = "LEFT OUTER JOIN ConLink CLP ON CLP.iOwnerFK = PE.iPsnPK " + ;
>         "LEFT OUTER JOIN Contacts COP ON CLP.iConFK = COP.iConPk " + ;
>         "LEFT OUTER JOIN ContactType CTP ON COP.iConTypeFK = CTP.iConTypePK " + ;
>         "WHERE DS.cDocSectionID LIKE '" + m.pcDocID + "-%' AND DO.iDocPK NOT IN (SELECT iDocFK FROM WFlowLocs) "
>lcSQL9 = "AND RTP.cRTypeDesc = '" + m.lcRole + "' AND CT.cConType = 'E-Mail Address' AND CTP.cConType = 'Home Phone'    " + ;
>         "ORDER BY 1, 4 DESC"
>
>llOk = SQLEXEC(lh, lcSQL1 + lcSQL2 + lcSQL3 + lcSQL4 + lcSQL5 + lcSQL6 + lcSQL7 + lcSQL8 + lcSQL9, "Results1")
>
Précédent
Répondre
Fil
Voir

Click here to load this message in the networking platform