<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:p="urn:schemas-microsoft-com:office:powerpoint" xmlns:a="urn:schemas-microsoft-com:office:access" xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:s="uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882" xmlns:rs="urn:schemas-microsoft-com:rowset" xmlns:z="#RowsetSchema" xmlns:b="urn:schemas-microsoft-com:office:publisher" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:c="urn:schemas-microsoft-com:office:component:spreadsheet" xmlns:odc="urn:schemas-microsoft-com:office:odc" xmlns:oa="urn:schemas-microsoft-com:office:activation" xmlns:html="http://www.w3.org/TR/REC-html40" xmlns:q="http://schemas.xmlsoap.org/soap/envelope/" xmlns:rtc="http://microsoft.com/officenet/conferencing" xmlns:D="DAV:" xmlns:Repl="http://schemas.microsoft.com/repl/" xmlns:mt="http://schemas.microsoft.com/sharepoint/soap/meetings/" xmlns:x2="http://schemas.microsoft.com/office/excel/2003/xml" xmlns:ppda="http://www.passport.com/NameSpace.xsd" xmlns:ois="http://schemas.microsoft.com/sharepoint/soap/ois/" xmlns:dir="http://schemas.microsoft.com/sharepoint/soap/directory/" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:dsp="http://schemas.microsoft.com/sharepoint/dsp" xmlns:udc="http://schemas.microsoft.com/data/udc" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:sub="http://schemas.microsoft.com/sharepoint/soap/2002/1/alerts/" xmlns:ec="http://www.w3.org/2001/04/xmlenc#" xmlns:sp="http://schemas.microsoft.com/sharepoint/" xmlns:sps="http://schemas.microsoft.com/sharepoint/soap/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:udcs="http://schemas.microsoft.com/data/udc/soap" xmlns:udcxf="http://schemas.microsoft.com/data/udc/xmlfile" xmlns:udcp2p="http://schemas.microsoft.com/data/udc/parttopart" xmlns:wf="http://schemas.microsoft.com/sharepoint/soap/workflow/" xmlns:dsss="http://schemas.microsoft.com/office/2006/digsig-setup" xmlns:dssi="http://schemas.microsoft.com/office/2006/digsig" xmlns:mdssi="http://schemas.openxmlformats.org/package/2006/digital-signature" xmlns:mver="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns:mrels="http://schemas.openxmlformats.org/package/2006/relationships" xmlns:spwp="http://microsoft.com/sharepoint/webpartpages" xmlns:ex12t="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:ex12m="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:pptsl="http://schemas.microsoft.com/sharepoint/soap/SlideLibrary/" xmlns:spsl="http://microsoft.com/webservices/SharePointPortalServer/PublishedLinksService" xmlns:Z="urn:schemas-microsoft-com:" xmlns:st="&#1;" xmlns="http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=Content-Type content="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 12 (filtered medium)">
<style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:"Segoe UI";
        panose-1:2 11 5 2 4 2 4 2 2 3;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p
        {mso-style-priority:99;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
        {mso-style-priority:99;
        mso-style-link:"Balloon Text Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:8.0pt;
        font-family:"Tahoma","sans-serif";}
span.BalloonTextChar
        {mso-style-name:"Balloon Text Char";
        mso-style-priority:99;
        mso-style-link:"Balloon Text";
        font-family:"Tahoma","sans-serif";}
span.EmailStyle19
        {mso-style-type:personal;
        font-family:"Segoe UI","sans-serif";
        color:windowtext;}
span.EmailStyle20
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.EmailStyle22
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;
        font-weight:normal;
        font-style:normal;
        text-decoration:none none;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
-->
</style>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext="edit">
  <o:idmap v:ext="edit" data="1" />
 </o:shapelayout></xml><![endif]-->
</head>

<body lang=EN-US link=blue vlink=purple>

<div class=WordSection1>

<p class=MsoNormal><span style='color:#1F497D'>A string replace might work for
the query string, but it seems like it would be dodgy to replace the functions
that way. Having custom functions for selecting and connecting to the database,
and for executing queries might be the better route. You could set a constant or
global in the config file when using MSSQL, then use that in a custom function
to run the correct php function. Something like:<o:p></o:p></span></p>

<p class=MsoNormal><span style='color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span style='font-family:"Courier New";color:black'>define (&#8216;MSSQL&#8217;,
true);&nbsp; // in the config file ONLY if using MSSQL<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-family:"Courier New";color:black'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span style='color:#1F497D'>Then, in a custom function file
(or the config file):<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-family:"Courier New";color:black'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span style='font-family:"Courier New";color:black'>function
do_query ($query, $resource) { <o:p></o:p></span></p>

<p class=MsoNormal><span style='font-family:"Courier New";color:black'>// Runs
the query, must have query string as the first argument and <o:p></o:p></span></p>

<p class=MsoNormal><span style='font-family:"Courier New";color:black'>//
database resource link as the second argument<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-family:"Courier New";color:black'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span style='font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp; if
(MSSQL) {<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $result
= mssql_query ($query, $resource);<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp; }
else {<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $result
= mysql_query ($query, $resource);<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp; }<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp; return
$result;<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-family:"Courier New";color:black'>}<o:p></o:p></span></p>

<p class=MsoNormal><span style='color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span style='color:#1F497D'>Then you would have to change
all the queries to use do_query() in place of the native PHP MySQL functions.<o:p></o:p></span></p>

<p class=MsoNormal><span style='color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span style='color:#1F497D'>You&#8217;ll need to do
something on that same order to make the database connection. And if you are
using a transactional method, there will need to be custom functions for commit
and rollback. All of my experience is with MySQL, though, so I don&#8217;t know
what pitfalls lie ahead. And I&#8217;ve only used Desktop Xerte, I&#8217;m not
familiar with using XOT. This would require significant changes to XOT, so it&#8217;s
something that would be best done at the development level. And your PHP must
be built with the correct extensions to enable the MSSQL functions. Xerte is
open-source, so you can give it a go, but it would not be a trivial
undertaking. It would be far easier to install MySQL, if that is an option for
you.<o:p></o:p></span></p>

<p class=MsoNormal><span style='color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<div style='border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt'>

<div>

<div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'>

<p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span
style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>
xerte-bounces@lists.nottingham.ac.uk
[mailto:xerte-bounces@lists.nottingham.ac.uk] <b>On Behalf Of </b>Patrick
Lockley<br>
<b>Sent:</b> Wednesday, August 18, 2010 4:17 AM<br>
<b>To:</b> Xerte discussion list<br>
<b>Subject:</b> RE: [Xerte] Has anyone tried Xerte toolkits with a MSSQL
database?<o:p></o:p></span></p>

</div>

</div>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal><span lang=EN-GB style='color:#1F497D'>It won&#8217;t work
as the queries are all MYSQL php functions, a string replace might work?<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-GB style='color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-GB style='color:#1F497D'>We thought about
doing some abstraction work, but we don&#8217;t need to here.<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-GB style='color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-GB style='color:#1F497D'>Perhaps some one more
technical could advise on the feasibility of a string replace?<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-GB style='color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<div>

<div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'>

<p class=MsoNormal style='margin-left:.5in'><b><span style='font-size:10.0pt;
font-family:"Tahoma","sans-serif"'>From:</span></b><span style='font-size:10.0pt;
font-family:"Tahoma","sans-serif"'> xerte-bounces@lists.nottingham.ac.uk [mailto:xerte-bounces@lists.nottingham.ac.uk]
<b>On Behalf Of </b>Simon Carter<br>
<b>Sent:</b> 18 August 2010 12:13<br>
<b>To:</b> 'xerte@lists.nottingham.ac.uk'<br>
<b>Subject:</b> [Xerte] Has anyone tried Xerte toolkits with a MSSQL database?<o:p></o:p></span></p>

</div>

</div>

<p class=MsoNormal style='margin-left:.5in'><span lang=EN-GB><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal style='margin-left:.5in'><span lang=EN-GB style='font-size:
10.0pt;font-family:"Segoe UI","sans-serif"'>Hi,<o:p></o:p></span></p>

<p class=MsoNormal style='margin-left:.5in'><span lang=EN-GB style='font-size:
10.0pt;font-family:"Segoe UI","sans-serif"'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal style='margin-left:.5in'><span lang=EN-GB style='font-size:
10.0pt;font-family:"Segoe UI","sans-serif"'>Has anyone tried the Xerte toolkits
with a MSSQL database?<o:p></o:p></span></p>

<p class=MsoNormal style='margin-left:.5in'><span lang=EN-GB style='font-size:
10.0pt;font-family:"Segoe UI","sans-serif"'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal style='margin-left:.5in'><span lang=EN-GB style='font-size:
10.0pt;font-family:"Segoe UI","sans-serif"'>Si :)<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-GB style='font-size:12.0pt;font-family:"Times New Roman","serif"'><o:p>&nbsp;</o:p></span></p>

<p><span lang=EN-GB>This message and any attachment are intended solely for the
addressee and may contain confidential information. If you have received this
message in error, please send it back to me, and immediately delete it. Please
do not use, copy or disclose the information contained in this message or in
any attachment. Any views or opinions expressed by the author of this email do
not necessarily reflect the views of the University of Nottingham. <o:p></o:p></span></p>

<p><span lang=EN-GB>This message has been checked for viruses but the contents
of an attachment may still contain software viruses which could damage your
computer system: you are advised to perform your own checks. Email
communications with the University of Nottingham may be monitored as permitted
by UK legislation. <o:p></o:p></span></p>

</div>

</div>

</body>

</html>