I would modify the code to eliminate evaludate
<cfscript>
function sqlValueFormat(field) {
if (isNumeric(field)) {
field = trim(field);
} else {
field = "'" & trim(field) & "'";
}
return field;
}
</cfscript>
<cfset table_list = "table1, table2, table3, table4, table5, table6">
<cfset k = 1 />
<cfloop index="i" list="#table_list#" delimiters=",">
<cfquery name="getall" datasource="db_mysql">
SELECT *
FROM #trim(i)#
</cfquery>
<cfloop query="getall">
<cfquery datasource="db_mssql">
INSERT INTO #trim(i)#
<cfloop list="#getall.columnlist#" index="j">
#j# <cfif k LT ListLen( getall.columnlist )>,</cfif>
<cfset k = k + 1 />
</cfloop>
<cfset k = 1 />
VALUES
(
<cfloop list="#getall.columnlist#" index="j">
#sqlValueFormat( getall[j][currentrow] )#
<cfif k LT ListLen( getall.columnlist )>,</cfif>
<cfset k = k + 1 />
</cfloop>
)
</cfquery>
</cfloop>
</cfloop>
On 3/19/07, Mik Muller <[EMAIL PROTECTED]> wrote:
>
> You want to evaluate field to its value
>
> > if (isNumeric(field)) {
> > field = trim(evaluate(field));
> > } else {
> > field = "'" & trim(evaluate(field)) & "'";
> > }
> > return field;
>
> Mik
>
>
> At 09:21 AM 3/19/2007, Pete Ruckelshaus wrote:
> >Hi All,
> >
> >I have a data import project that I am trying to simplify, mainly
> >because of the number of tables and amount of data involved. I'm
> >importing a number of tables from a MySQL database to an MS SQL Server
> >database with an identical structure, except for datatypes being
> >changed where appropriate.
> >
> >The problem is, in my code I am ending up passing in the column name
> >rather than the actual column value. Can anyone tell me what I'm
> >doing wrong? Here's my code:
> >
> >
> ><cfscript>
> > function sqlValueFormat(field) {
> > if (isNumeric(field)) {
> > field = trim(field);
> > } else {
> > field = "'" & trim(field) & "'";
> > }
> > return field;
> > }
> ></cfscript>
> ><cfset table_list = "table1, table2, table3, table4, table5, table6">
> ><cfloop index="I" list="#table_list#" delimiters=",">
> > <cfquery name="getall" datasource="db_mysql">
> > SELECT *
> > FROM #trim(i)#
> > </cfquery>
> > <cfquery name="insertAll" datasource="db_mssql">
> > <cfloop query="getall">
> > INSERT INTO
> #trim(i)#(#getall.columnlist#)
> > VALUES (<cfloop
> list="#getall.columnlist#" index="j"
> >delimiters=",">#sqlValueFormat(evaluate(j))#<cfif NOT
> >listLast(getall.columnlist, ",")>,</cfif></cfloop>);
> > </cfloop>
> > </cfquery>
> ></cfloop>
> >
> >
> >The error that I'm getting is "cannot convert the value "STAMP" to a
> >boolean" -- "STAMP" is a column name in the table, not the actual
> >chunk of data, which is what I want.
> >
> >Thanks!
> >
> >Pete
> >
> >
>
>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Create Web Applications With ColdFusion MX7 & Flex 2.
Build powerful, scalable RIAs. Free Trial
http://www.adobe.com/products/coldfusion/flex2/?sdid=RVJS
Archive:
http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:272993
Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm
Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4