check out www.cfcomet.com these problems are related to the way cf maps the
objects and properties and methods etc. You may get some ideas from there.

Elliot


"Theo Galanakis" <[EMAIL PROTECTED]> wrote in message
news:[EMAIL PROTECTED]
>
> The error it returned was :
>
> The cause of this exception was that: java.lang.NoSuchFieldException:
There
> is no property called TABLES.
>
> -----Original Message-----
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED] On Behalf Of Elliot
Russo
> Sent: Thursday, 6 May 2004 2:12 PM
> To: CFAussie Mailing List
> Subject: [cfaussie] Re: calling SQLDMO Com experts...
>
> probably something like this (can't test at the moment)
>
> <cfobject type="COM" name="SQLServer" class="SQLDMO.SQLServer"
> action="CREATE" context="LOCAL">
> <cfset SQLServer.Connect("SQLSERVER","(local)","")>
> <cfset SQLDatabase = SQLServer.Databases()>
>
> <CFLOOP COLLECTION="#SQLDatabase.Tables#" ITEM="tbl">
>  <cfif Not tbl.SystemObject>
>   <cfset Script = Script & tbl.Script(param)
>  </cfif>
> </CFLOOP>
>
> you'll have to find constant for the param value
>
> Elliot
>
>
>
> "Theo Galanakis" <[EMAIL PROTECTED]> wrote in message
> news:[EMAIL PROTECTED]
> >
> > You are quite right it does extract the sp contents. Thankyou.
> >
> > Although just for my future reference I would still like to know how
> > To call the SQLDMO.Table com dll from cold fusion.
> >
> > -----Original Message-----
> > From: [EMAIL PROTECTED]
> > [mailto:[EMAIL PROTECTED] On Behalf Of Elliot
> Russo
> > Sent: Thursday, 6 May 2004 1:13 PM
> > To: CFAussie Mailing List
> > Subject: [cfaussie] Re: calling SQLDMO Com experts...
> >
> > That is where sp_helptext comes in - get contents of proc unless
compiled
> > with encryption option
> >
> >
> > "Theo Galanakis" <[EMAIL PROTECTED]> wrote in message
> > news:[EMAIL PROTECTED]
> > >
> > > Hi Elliot,
> > > I'm familiar with sp_help and thankyou for the tip, I actually use
> > > the comm Object to extract the entire table, stored procedure, view
for
> > > backup purposes formatted ready for a database rebuild, i.e simulating
> the
> > > enterprise manager Generate SQL Script... functionality..
> > >
> > > i.e sp_help produces the parameter inputs but not the entire stored
> > > procedure scripted.
> > >
> > > The real question I guess is how do you effectively call the
> SQLDMO.Table
> > in
> > > cold fusion... it works in vb code below.
> > >
> > > -----Original Message-----
> > > From: [EMAIL PROTECTED]
> > > [mailto:[EMAIL PROTECTED] On Behalf Of Elliot
> > Russo
> > > Sent: Thursday, 6 May 2004 10:49 AM
> > > To: CFAussie Mailing List
> > > Subject: [cfaussie] Re: calling SQLDMO Com experts...
> > >
> > > Hi,
> > >
> > > you can get most of that stuff through straight sql against the schema
> > stuff
> > > (including the ddl of stored procs and views)
> > >
> > >
> > > select * from sysobjects
> > >
> > > then sp_help
> > >
> > > eg for a table
> > > <cfstoredproc procedure="sp_help" datasource="#attributes.datasource#"
> > > returncode="Yes" dbname="#attributes.dbname#">
> > >  <cfprocparam type="In" cfsqltype="CF_SQL_CHAR"
> value="#attributes.table#"
> > > maxlength="100" null="No">
> > >  <cfprocresult name="qName" resultset="1">
> > >  <cfprocresult name="qParameters" resultset="2">
> > >  <cfprocresult name="qKeys" resultset="7">
> > > </cfstoredproc>
> > >
> > > etc
> > >
> > > "Theo Galanakis" <[EMAIL PROTECTED]> wrote in message
> > > news:[EMAIL PROTECTED]
> > > >
> > > > I have written a VB com dll to extract a database schema including
all
> > > > tables, stored procs, views etc.. I call this com object through
> > > <cf_object>
> > > > and it works as needed.
> > > >
> > > > However I have a query.... I have attempted to call the same methods
> in
> > > the
> > > > SQLDMO class directly in cold fusion, i.e no need to write the VB
dll
> > > > directly to access the SQLDMO.
> > > >
> > > > Here is the Vb code which works fine...
> > > >
> > > > Public Function generateScript(server As String, database As String,
> > > > username As String, password As String) As String
> > > >
> > > >     Dim SQLServer As New SQLDMO.SQLServer
> > > >
> > > >     ' SQL Server security
> > > >     If username = "(local)" Then
> > > >         SQLServer.LoginSecure = True
> > > >         SQLServer.Connect "(local)"
> > > >     Else
> > > >         SQLServer.Connect server, username, password
> > > >     End If
> > > >
> > > >     Dim tbl As SQLDMO.Table
> > > >     Dim sp As SQLDMO.StoredProcedure
> > > >     Dim view As SQLDMO.view
> > > >
> > > >     ' Get a reference to the selected database
> > > >     Set SQLDatabase = SQLServer.Databases(database)
> > > >
> > > >     Dim param As SQLDMO_SCRIPT_TYPE
> > > >
> > > >     Dim Script As String
> > > >
> > > >     param = SQLDMOScript_Default Or SQLDMOScript_Indexes Or
> > > > SQLDMOScript_Triggers Or SQLDMOScript_DatabasePermissions
> > > >
> > > >     'Generate all the tables
> > > >     For Each tbl In SQLDatabase.Tables
> > > >         If Not tbl.SystemObject Then
> > > >             Script = Script & tbl.Script(param)
> > > >         End If
> > > >     Next
> > > >
> > > >     param = SQLDMOScript_Default
> > > >
> > > >     'Generate all the stored procedures
> > > >     For Each sp In SQLDatabase.StoredProcedures
> > > >         If Not sp.SystemObject Then
> > > >             Script = Script & sp.Script(param)
> > > >         End If
> > > >     Next
> > > >
> > > >     param = SQLDMOScript_Default
> > > >
> > > >     'Generate all the Views
> > > >     For Each view In SQLDatabase.Views
> > > >         If Not view.SystemObject Then
> > > >             Script = Script & view.Script(param)
> > > >         End If
> > > >     Next
> > > >
> > > >     'Clean Up
> > > >     SQLServer.DisConnect
> > > >     Set SQLServer = Nothing
> > > >
> > > >     generateScript = Script
> > > > End Function
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > I wanted to replicate this in Cold Fusion, however I was not sure
how
> to
> > > > defined something like this ...       Dim tbl As SQLDMO.Table
> > > >
> > > >
> > > > Here is my cold Fusion code so far ....
> > > >
> > > > <cfobject type="COM" name="SQLServer" class="SQLDMO.SQLServer"
> > > > action="CREATE" context="LOCAL">
> > > > <cfset SQLServer.Connect("SQLSERVER","(local)","")>
> > > > <cfset SQLDatabase = SQLServer.Databases()>
> > > >
> > > > <cfobject type="COM" name="tbl" class="SQLDMO.Tables"
action="CREATE"
> > > > context="LOCAL">
> > > >
> > > > <cfloop index="i" from="1" to="#tbl.Count#">
> > > > <cfdump var="#tbl.Script(4)#"><br>
> > > > </cfloop>
> > > >
> > > >
> > > > It throws an error when attempting to call the SQLDMO.Tables
object...
> > In
> > > > the VB code it does not instantiate the SQLDMO.Tables as a new
object
> > but
> > > > rather just assigns a variable.. Dim tbl As SQLDMO.Table
> > > >
> > > >
> > > > Finally my question is how do you call the SQLDMO.Tables method, If
> you
> > > > cannot instantiate it?
> > > >
> > > > Ie is there a way to do this..
> > > >
> > > > Something like this... <cfparam name="tbl" type="SQLDMO.Table">
> > > >
> > > >
> > > >
> > > >
> > > > This message may contain privileged or confidential information and
is
> > > > intended only for the individual named. If you are not the named
> > addressee
> > > > you should not disclose, disseminate, distribute or copy this
e-mail.
> If
> > > you
> > > > have received this e-mail by mistake please notify the sender
> > immediately
> > > by
> > > > e-mail and delete this e-mail from your system. You should rely on
> your
> > > own
> > > > virus checking programmes and procedures for checking any
attachments.
> > > > Please advise us if you wish your name and e-mail address to be
> removed
> > > from
> > > > our database.
> > > >
> > > >
> > > >
> > >
> > >
> > >
> > > ---
> > > You are currently subscribed to cfaussie as:
[EMAIL PROTECTED]
> > > To unsubscribe send a blank email to
> > > [EMAIL PROTECTED]
> > >
> > > MXDU2004 + Macromedia DevCon AsiaPac + Sydney, Australia
> > > http://www.mxdu.com/ + 24-25 February, 2004
> > >
> > > This message may contain privileged or confidential information and is
> > > intended only for the individual named. If you are not the named
> addressee
> > > you should not disclose, disseminate, distribute or copy this e-mail.
If
> > you
> > > have received this e-mail by mistake please notify the sender
> immediately
> > by
> > > e-mail and delete this e-mail from your system. You should rely on
your
> > own
> > > virus checking programmes and procedures for checking any attachments.
> > > Please advise us if you wish your name and e-mail address to be
removed
> > from
> > > our database.
> > >
> > >
> > >
> >
> >
> >
> > ---
> > You are currently subscribed to cfaussie as: [EMAIL PROTECTED]
> > To unsubscribe send a blank email to
> > [EMAIL PROTECTED]
> >
> > MXDU2004 + Macromedia DevCon AsiaPac + Sydney, Australia
> > http://www.mxdu.com/ + 24-25 February, 2004
> >
> > This message may contain privileged or confidential information and is
> > intended only for the individual named. If you are not the named
addressee
> > you should not disclose, disseminate, distribute or copy this e-mail. If
> you
> > have received this e-mail by mistake please notify the sender
immediately
> by
> > e-mail and delete this e-mail from your system. You should rely on your
> own
> > virus checking programmes and procedures for checking any attachments.
> > Please advise us if you wish your name and e-mail address to be removed
> from
> > our database.
> >
> >
> >
>
>
>
> ---
> You are currently subscribed to cfaussie as: [EMAIL PROTECTED]
> To unsubscribe send a blank email to
> [EMAIL PROTECTED]
>
> MXDU2004 + Macromedia DevCon AsiaPac + Sydney, Australia
> http://www.mxdu.com/ + 24-25 February, 2004
>
> This message may contain privileged or confidential information and is
> intended only for the individual named. If you are not the named addressee
> you should not disclose, disseminate, distribute or copy this e-mail. If
you
> have received this e-mail by mistake please notify the sender immediately
by
> e-mail and delete this e-mail from your system. You should rely on your
own
> virus checking programmes and procedures for checking any attachments.
> Please advise us if you wish your name and e-mail address to be removed
from
> our database.
>
>
>



---
You are currently subscribed to cfaussie as: [EMAIL PROTECTED]
To unsubscribe send a blank email to [EMAIL PROTECTED]

MXDU2004 + Macromedia DevCon AsiaPac + Sydney, Australia
http://www.mxdu.com/ + 24-25 February, 2004

Reply via email to