0

私はColdFusion8、Windows 7 o / s、およびMySqlデータベースを使用しています。データベースからレコードをフェッチしてxmlファイルを作成しています。次に、それをFTPの場所にアップロードします。xmlを作成するための私のコードは以下のとおりです。このxmlをFTP経由でアップロードするにはどうすればよいですか?

<cfquery name="getData" datasource="datasourcename" dbtype="ODBC" username="myusername" password="mypassword">
    Select * from orders where orderid in (100,102,104)
</cfquery>

<cfset csvstr = createObject("java","java.lang.StringBuffer")>
<cfoutput query="getData">
    <cfset csvstr.append("?xml version=""1.0""?>") >
    <cfset csvstr.append("EDIData xmlns:eci=""http://www.abcdefg.com/CustomerReport"" ") >
    <cfset csvstr.append("       xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" ") >
    <cfset csvstr.append("       xsi:noNamespaceSchemaLocation=""CustomerReport.xsd"">") >
    <cfset csvstr.append("  MarketerDunsNumber>"& #MarketerDunsNumber# &"/MarketerDunsNumber>") >
    <cfset csvstr.append("  UtilityDunsNumber>"& #UtilityDunsNumber# &"/UtilityDunsNumber>") >
    <cfset csvstr.append("  Record RecordType="""& #RecordType# &""">") >
    <cfset csvstr.append("    NameCode>"& #NameCode# &"/NameCode>") >
    <cfset csvstr.append("    ContactName>"& #ContactName# &"/ContactName>") >
    <cfset csvstr.append("  /Record>") >
    <cfset csvstr.append("/EDIData>") >
    <cfset csvstr.append(Chr(13) & Chr(10)) >
    <cfset sFileName="CTData_"& #MarketerDunsNumber# &"_"& #UtilityDunsNumber# &".xml">
</cfoutput>
4

1 に答える 1

2
<cfoutput   query=  "getData">

    <cfsavecontent  variable=   "sXMLContent">
    <EDIData    xmlns:eci="http://www.abcdefg.com/CustomerReport"
                xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                xsi:noNamespaceSchemaLocation="CustomerReport.xsd">
        <MarketerDunsNumber>#MarketerDuinsNumber#</MarketerDunsNumber>
        <UtilityDunsNumber>#UtilityDunsNumber#</UtilityDunsNumber>
        <Record RecordType="#RecordType#">
            <NameCode>#NameCode#</NameCode>
            <ContactName>#ContactName#</ContactName>
        </Record>
    </EDIData>

    </cfsavecontent>

    <cfset  sTemporaryFileName= "xmlToFTP.xml" />
    <cfset  sRemoteFileName=    "xmlToFTP.xml" />

    <cffile action=     "write"
            file=       "#getTempDirectory()#/#sTemporaryFileName#"
            content=    "#toString( XMLParse( sXMLContent ) )#" />
    <cftry>
        <cfftp  action=     "putFile"
                server=     "some.ftp.server.com"
                user=       "user"
                password=   "password"
                localFile=  "#getTempDirectory()#/#sTemporaryFileName#"
                remoteFile= "#sRemoteFileName#" />

        <cfcatch>
            <!---   TODO: Do something with your error here.    --->

        </cfcatch>
    </cftry>

</cfoutput>

このようなもの。始めるには十分なはずです。

于 2013-02-26T13:24:10.843 に答える