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:
00692110
Vues:
29
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
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform