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
