| Author | 
                                
                                 Topic  | 
                            
                            
                                    | 
                                         jasonf 
                                        Starting Member 
                                         
                                        
                                        7 Posts  | 
                                        
                                        
                                            
                                            
                                             Posted - 2012-05-02 : 13:13:59
                                            
  | 
                                             
                                            
                                            | I am not an SQL expert. We are willing to pay someone to fix this issue because we are no longer able to get any support from the developer. Our server is running MS SQL Server 2008 R2The server crashed while our shopping cart was performing maintenance on our SQL DB and when the server came back up we started getting this error on all of the pages on our website below the header:"DataEngine.Find" error '800a0e78' Operation is not allowed when the object is closed. DataEngine.Find/DIRECTIVES /Shopping.asp, line 597 An example of the error can be seen here: http://50.63.56.44/security-alarms.htmlWe do not think the problem is in the Shopping.asp page code as we have tried to replace Shopping.asp with several older versions of that page that we had saved as working backups and we continue to get the same error (although a different line number).I couldn't find much when i searched online for a solution.Again we are willing to pay for someone to fix this so if anyone thinks they can figure this out let me know by PM or email.Thanks,Jason F. | 
                                             
                                         
                                     | 
                            
       
                            
                       
                          
                            
                                    | 
                                     russell 
                                    Pyro-ma-ni-yak 
                                     
                                    
                                    5072 Posts  | 
                                    
                                      
                                        
                                          
                                           
                                            Posted - 2012-05-02 : 13:56:51
                                          
  | 
                                         
                                        
                                          | Do you have database backups?  | 
                                         
                                        
                                            | 
                                         
                                       
                                     | 
                                  
                            
                       
                          
                            
                                    | 
                                     russell 
                                    Pyro-ma-ni-yak 
                                     
                                    
                                    5072 Posts  | 
                                    
                                      
                                        
                                          
                                           
                                            Posted - 2012-05-02 : 14:22:12
                                          
  | 
                                         
                                        
                                          | Also, let's see the code at and around that line.  | 
                                         
                                        
                                            | 
                                         
                                       
                                     | 
                                  
                            
                       
                          
                            
                                    | 
                                     jasonf 
                                    Starting Member 
                                     
                                    
                                    7 Posts  | 
                                    
                                      
                                        
                                          
                                           
                                            Posted - 2012-05-02 : 15:00:39
                                          
  | 
                                         
                                        
                                          quote: Originally posted by russell Do you have database backups?
  Yes  | 
                                         
                                        
                                            | 
                                         
                                       
                                     | 
                                  
                            
                       
                          
                            
                                    | 
                                     jasonf 
                                    Starting Member 
                                     
                                    
                                    7 Posts  | 
                                    
                                      
                                        
                                          
                                           
                                            Posted - 2012-05-02 : 15:34:02
                                          
  | 
                                         
                                        
                                          quote: Originally posted by russell Also, let's see the code at and around that line.
  Line 597 from the error should be the one in bold blue below: If Request.QueryString("Error") <> "" Then                            INCLUDE "include\error.asp"                            Else                            Dim cURLPanel                Dim cURLTop                Dim cURLBottom                                cDirective = Request.QueryString("Directive")                cSubDirective = Request.QueryString("SubDirective")                cURLContent = ""                cPageContent = ""                If cDirective <> "" Then                    cMainSQL = "SITECODE = 'Shopping' AND DIRECTIVE = '" + cDirective + "'"                    cSubSQL = ""                    lDirectiveFound = False                    If cSubDirective <> "" Then                        cSubSQL = cMainSQL + " AND SUBDIRECTIVE = '" + cSubDirective + "'"                    End If                    If cSubSQL <> "" Then                                            If Not Session("oDE").Find("DIRECTIVES", CStr(cSubSQL)) Then                            lDirectiveFound = Session("oDE").Find("DIRECTIVES",cStr(cMainSQL) + " AND SUBDIRECTIVE=''")                        Else                            lDirectiveFound = True                        End If                                        Else                                              DirectiveFound = Session("oDE").Find("DIRECTIVES", CStr(cMainSQL) + " AND SUBDIRECTIVE=''")                                        End If                    If lDirectiveFound Then                                            cURLContent = Trim(Session("oDE").FieldValue("DIRECTIVES","URLBOTTOM"))                                        Else                                            cMainSQL = "SITECODE = '" + Session("oDE").FieldValue("ECOMMERCE", "SITECODE") + "' AND HOMEBASE=0 AND DIRECTIVE = '" + cDirective + "'"                                                If Session("oDE").Find("ECOMMERCE", CStr(cMainSQL)) Then                            cPageContent = Session("oDE").Fieldvalue("ECOMMERCE","HTMLCenter")                            Session("oDE").Find "ECOMMERCE", "HOMEBASE=1"                        End If                    End If                End If  | 
                                         
                                        
                                            | 
                                         
                                       
                                     | 
                                  
                            
                       
                          
                            
                                    | 
                                     robvolk 
                                    Most Valuable Yak 
                                     
                                    
                                    15732 Posts  | 
                                    
                                      
                                        
                                          
                                           
                                            Posted - 2012-05-02 : 15:59:57
                                          
  | 
                                         
                                        
                                          | Looks like the Session("oDE") variable is an object of DataEngine type, whatever that is.  Probably a custom object.  If I had to guess, it's trying to access your database and it can't.Can you check the database via Management Studio or some other method and see if it's online?  i.e. you can access data from it.  Check if it's in Suspect status or just otherwise unavailable.  | 
                                         
                                        
                                            | 
                                         
                                       
                                     | 
                                  
                            
                       
                          
                            
                                    | 
                                     jasonf 
                                    Starting Member 
                                     
                                    
                                    7 Posts  | 
                                    
                                      
                                        
                                          
                                           
                                            Posted - 2012-05-02 : 16:34:48
                                          
  | 
                                         
                                        
                                          quote: Originally posted by robvolk Looks like the Session("oDE") variable is an object of DataEngine type, whatever that is.  Probably a custom object.  If I had to guess, it's trying to access your database and it can't.Can you check the database via Management Studio or some other method and see if it's online?  i.e. you can access data from it.  Check if it's in Suspect status or just otherwise unavailable.
  I rebooted the server and from management studio i have tried to connect/disconnect, start/stop, restart, take offline/bring online. I just checked and the DB is showing connected, started, online.Also I can see what appears to be the DB working in the activity monitor in management studio when I bring up the main homepage at http://50.63.56.44 and I believe the homepage is working with the DB because the featured items near the bottom of the page are dynamic and they are created on the fly from the DB.  | 
                                         
                                        
                                            | 
                                         
                                       
                                     | 
                                  
                            
                       
                          
                            
                                    | 
                                     robvolk 
                                    Most Valuable Yak 
                                     
                                    
                                    15732 Posts  | 
                                    
                                      
                                        
                                          
                                           
                                            Posted - 2012-05-02 : 16:39:14
                                          
  | 
                                         
                                        
                                          | My next suggestion is to run DBCC CHECKDB on the database in question, you can find more information here:http://msdn.microsoft.com/en-us/library/ms176064.aspxDO NOT run it with any repair options specified, just see if it returns any messages.  It's possible that the table needed by that one page is corrupted.Note that this will cause a performance drop on your SQL server while it runs, so if you can't do it now, run it during a relatively quiet time for the server.  | 
                                         
                                        
                                            | 
                                         
                                       
                                     | 
                                  
                            
                       
                          
                            
                                    | 
                                     jasonf 
                                    Starting Member 
                                     
                                    
                                    7 Posts  | 
                                    
                                      
                                        
                                          
                                           
                                            Posted - 2012-05-02 : 17:07:17
                                          
  | 
                                         
                                        
                                          | After running DBCC CHECKDB it gives a long list with this format: DBCC results for "(object name)"There are "x" rows in "x" pages for object "(object name)"No errors displayed, just how many rows and pages it found for each object.At the end of the list it says:CHECKDB forund 0 allocation errors and 0 consistency errors in the database...  | 
                                         
                                        
                                            | 
                                         
                                       
                                     | 
                                  
                            
                       
                          
                            
                                    | 
                                     robvolk 
                                    Most Valuable Yak 
                                     
                                    
                                    15732 Posts  | 
                                    
                                      
                                        
                                          
                                           
                                            Posted - 2012-05-02 : 17:15:02
                                          
  | 
                                         
                                        
                                          | OK, that's good.  I'd recommend taking a fresh database backup at this point and keeping it safe.Do you know which table(s) this shopping page is trying to access?  Can you check that they exist and have data in them?If not, do you have enough space to restore the most recent backup from before the problem started?  You'll want to try comparing their database schemas to see if any objects changed.  | 
                                         
                                        
                                            | 
                                         
                                       
                                     | 
                                  
                            
                       
                          
                            
                                    | 
                                     jasonf 
                                    Starting Member 
                                     
                                    
                                    7 Posts  | 
                                    
                                      
                                        
                                          
                                           
                                            Posted - 2012-05-02 : 17:36:40
                                          
  | 
                                         
                                        
                                          | I have made a recent backup already after the issue started so I think I'm ok there. The only other backup I have is much older. I cant tell how old it is. The file created date shows the date we moved to this server on 11/23/11, but it's probably much older. I'm not sure if anything major has changed since it was created. I tried to restore it once already. It appeared to restore it ok but the website did not work at all afterward so I restored it to the most recent backup again.I am not familar with schemas and I'm way past my comfort zone on most of this stuff already. I do have someone setup to look at it tonight so I'll see about having them restore the old one again.  | 
                                         
                                        
                                            | 
                                         
                                       
                                     | 
                                  
                            
                       
                          
                            
                                    | 
                                     robvolk 
                                    Most Valuable Yak 
                                     
                                    
                                    15732 Posts  | 
                                    
                                      
                                        
                                          
                                           
                                            Posted - 2012-05-02 : 17:45:30
                                          
  | 
                                         
                                        
                                          | You'd want to restore the old database to a separate database, not over the production copy, so you'd have 2 databases to compare.You can use RedGate's SQL Compare tool, available here: http://www.red-gate.com/products/sql-development/sql-compare/You'd compare the two databases to see if any tables got dropped or modified in the production database since the older backup was made.  That might help pinpoint the problem.  | 
                                         
                                        
                                            | 
                                         
                                       
                                     | 
                                  
                            
                       
                          
                            
                                    | 
                                     jasonf 
                                    Starting Member 
                                     
                                    
                                    7 Posts  | 
                                    
                                      
                                        
                                          
                                           
                                            Posted - 2012-05-07 : 13:56:25
                                          
  | 
                                         
                                        
                                          | Robvolk - thanks for your help, but I'm just not comfortable doing anything else myself on this. As of today I can't get ahold of the guy that said he was going to try to fix our issue so if you think you can fix it or if anyone else on here thinks they can fix it or knows anyone that could please get in touch with me. Again we are willing to pay someone.  | 
                                         
                                        
                                            | 
                                         
                                       
                                     | 
                                  
                            
                       
                          
                            
                                    | 
                                     afrika 
                                    Master Smack Fu Yak Hacker 
                                     
                                    
                                    2706 Posts  | 
                                    
                                      
                                        
                                          
                                           
                                            Posted - 2012-05-09 : 16:29:11
                                          
  | 
                                         
                                        
                                          | I dont think this has to do with the error with the database, I simply think the code is not complete.The above code in my opinion is badly written for an enterprise system, as the connection string is encapsulated in a session variable called  Session("oDE")  Its classic ASP code written with VB scriptReason why I say its badly written is that it would 1. Not scale2. Be lost if the computer runs out of memory3. IF for some reason IIS is restarted or the server is restartedBasically it concatenates the sql command on the fly based on variable conditions and tries to access the database, and if for some reason its not complete it would throw the exception you are getting.... as the database in question is closed.Hope this helps.Ehi  | 
                                         
                                        
                                            | 
                                         
                                       
                                     | 
                                  
                            
                       
                          
                            
                                    | 
                                     LukeLaCourse 
                                    Starting Member 
                                     
                                    
                                    1 Post  | 
                                    
                                      
                                        
                                          
                                           
                                            Posted - 2012-05-17 : 17:18:43
                                          
  | 
                                         
                                        
                                          | The error stems from a table update utility that is built into the system, it is referred to as Validate Data for the menu option however it reads the datadictionary in the /data/ folder where the asp sessions are also created.  The following is the log from the update which is what initially created the issue.For now I also found that the SQL User had only "public" checked which is not correct and has been fixed.  I too think it is a security issue however from the log info below I see that there are most likely database issues too, these are being rolled back and then will update again.If anyone knows though what the error "Err:Column, parameter, or variable #xxx:cannot find data type single" means or how to fix it that might help too, I cannot find anything online that looks like it truly relates here.Processing AccLinkProcessing Account   ALTER TABLE [Account] ALTER COLUMN [budgetamt] Single ERR:Column, parameter, or variable #178: Cannot find data type Single.ALTER TABLE [Account] ALTER COLUMN [lastpaymnt] Single ERR:Column, parameter, or variable #178: Cannot find data type Single.ALTER TABLE [Account] ALTER COLUMN [discount] Single ERR:Column, parameter, or variable #178: Cannot find data type Single.ALTER TABLE [Account] ALTER COLUMN [ColorCode] Single ERR:Column, parameter, or variable #178: Cannot find data type Single.ALTER TABLE [Account] ALTER COLUMN [Response] Single ERR:Column, parameter, or variable #178: Cannot find data type Single.Processing ActivityProcessing ApptMask  Processing ApptMast  Processing Campaign  ALTER TABLE [Campaign] ALTER COLUMN [Discount] Single ERR:Column, parameter, or variable #50: Cannot find data type Single.ALTER TABLE [Campaign] ALTER COLUMN [Hits] Single ERR:Column, parameter, or variable #50: Cannot find data type Single.ALTER TABLE [Campaign] ALTER COLUMN [OptOuts] Single ERR:Column, parameter, or variable #50: Cannot find data type Single.ALTER TABLE [Campaign] ALTER COLUMN [Invitations] Single ERR:Column, parameter, or variable #50: Cannot find data type Single.ALTER TABLE [Campaign] ALTER COLUMN [TriggerType] Single ERR:Column, parameter, or variable #50: Cannot find data type Single.ALTER TABLE [Campaign] ALTER COLUMN [TriggerTimeMode] Single ERR:Column, parameter, or variable #50: Cannot find data type Single.Processing CCProcProcessing Charges   ALTER TABLE [Charges] ALTER COLUMN [BoxID] Single ERR:Column, parameter, or variable #97: Cannot find data type Single.Processing Codes     Processing ComLog    Processing Config    ..... Inserted Value: USER_ID = 'CODES-ACCOUNTS' AND TYPE = 'Industry Type Codes' into table Config    ..... Inserted Value: USER_ID = 'CODES-ACCOUNTS' AND TYPE = 'Customer Product Status' into table Config    ..... Inserted Value: USER_ID = 'CODES-CONTRACTS' AND TYPE = 'Service Contract Types' into table Config    ..... Inserted Value: USER_ID = 'CODES-INVENTORY' AND TYPE = 'Inventory Part Status' into table Config    ..... Inserted Value: USER_ID = 'CODES-INVENTORY' AND TYPE = 'Inventory Transfer Status' into table Config    ..... Inserted Value: USER_ID = 'CODES-INVENTORY' AND TYPE = 'OEM Manufacturer Codes' into table Config    ..... Inserted Value: USER_ID = 'CODES-KNOWLEDGE' AND TYPE = 'Knowledge Base Categories' into table Config    ..... Inserted Value: USER_ID = 'CODES-LEADS' AND TYPE = 'Lead Categories' into table Config    ..... Inserted Value: USER_ID = 'CODES-MARKETING' AND TYPE = 'Promotion Types' into table Config    ..... Inserted Value: USER_ID = 'CODES-ACCOUNTS' AND TYPE = 'Company Categories' into table Config    ..... Inserted Value: USER_ID = 'CODES-PURCHASING' AND TYPE = 'Purchase Order Status' into table Config    ..... Inserted Value: USER_ID = 'CODES-QUOTES' AND TYPE = 'Shipping Methods' into table Config    ..... Inserted Value: USER_ID = 'CODES-QUOTES' AND TYPE = 'Sales Territory Codes' into table Config    ..... Inserted Value: USER_ID = 'CODES-QUOTES' AND TYPE = 'Pay Codes' into table Config    ..... Inserted Value: USER_ID = 'CODES-QUOTES' AND TYPE = 'Quotation Status Codes' into table Config    ..... Inserted Value: USER_ID = 'CODES-PIPELINE' AND TYPE = 'Pipeline Status' into table Config    ..... Inserted Value: USER_ID = 'CODES-ACCOUNTS' AND TYPE = 'Product Categories' into table Config    ..... Inserted Value: USER_ID = 'CODES-QUOTES' AND TYPE = 'Inventory Group' into table Config    ..... Inserted Value: USER_ID = 'CODES-QUOTES' AND TYPE = 'Opportunity Pipeline Role' into table Config    ..... Inserted Value: USER_ID = 'CODES-PIPELINE' AND TYPE = 'Competitor List' into table Config    ..... Inserted Value: USER_ID = 'CODES-QUOTES' AND TYPE = 'Quotation Configurator Types' into table Config    ..... Inserted Value: USER_ID = 'CODES-QUOTES' AND TYPE = 'Expense Item Type' into table Config    ..... Inserted Value: USER_ID = 'CODES-QUOTES' AND TYPE = 'FOB Shipping Option' into table Config    ..... Inserted Value: USER_ID = 'CODES-QUOTES' AND TYPE = 'Quotation Inventory Groups' into table Config    ..... Inserted Value: USER_ID = 'CODES-RESOURCES' AND TYPE = 'Department Codes' into table Config    ..... Inserted Value: USER_ID = 'CODES-RESOURCES' AND TYPE = 'Employee Groups' into table Config    ..... Inserted Value: USER_ID = 'CODES-SCHEDULING' AND TYPE = 'Appointment Category Types' into table Config    ..... Inserted Value: USER_ID = 'CODES-SERVICE' AND TYPE = 'Place Of Service Codes' into table Config    ..... Inserted Value: USER_ID = 'CODES-SERVICE' AND TYPE = 'Support Ticket Cause' into table Config    ..... Inserted Value: USER_ID = 'CODES-SERVICE' AND TYPE = 'Service Rate Schedules' into table Config    ..... Inserted Value: USER_ID = 'CODES-SERVICE' AND TYPE = 'Service Ticket Status' into table Config    ..... Inserted Value: USER_ID = 'CODES-SERVICE' AND TYPE = 'Business Size Codes' into table Config    ..... Inserted Value: USER_ID = 'CODES-CONTRACTS' AND TYPE = 'Service Contract Cancellation' into table Config    ..... Inserted Value: USER_ID = 'CODES-LEADS' AND TYPE = 'Reseller Referrals Code' into table Config    ..... Inserted Value: USER_ID = 'CODES-INVENTORY' AND TYPE = 'Inventory Bin Segment 1 of 6' into table Config    ..... Inserted Value: USER_ID = 'CODES-RESOURCES' AND TYPE = 'Resource Title' into table Config    ..... Inserted Value: USER_ID = 'CODES-PIPELINE' AND TYPE = 'Pipeline Phase/Next Step' into table Config    ..... Inserted Value: USER_ID = 'CODES-INVENTORY' AND TYPE = 'Inventory Bin Segment 2 of 6' into table Config    ..... Inserted Value: USER_ID = 'CODES-INVENTORY' AND TYPE = 'Inventory Bin Segment 3 of 6' into table Config    ..... Inserted Value: USER_ID = 'CODES-INVENTORY' AND TYPE = 'Inventory Bin Segment 4 of 6' into table Config    ..... Inserted Value: USER_ID = 'CODES-INVENTORY' AND TYPE = 'Inventory Bin Segment 5 of 6' into table Config    ..... Inserted Value: USER_ID = 'CODES-INVENTORY' AND TYPE = 'Inventory Bin Segment 6 of 6' into table Config    ..... Inserted Value: USER_ID = 'CODES-ACCOUNTS' AND TYPE = 'Recall/Follow-Up Codes' into table Config    ..... Inserted Value: USER_ID = 'CODES-ACCOUNTS' AND TYPE = 'Communication Types' into table Config    ..... Inserted Value: USER_ID = 'CODES-ACCOUNTS' AND TYPE = 'Contact Classification Type' into table Config    Processing Contacts  Processing ContractALTER TABLE [Contract] ALTER COLUMN [PriceMode] Single ERR:Column, parameter, or variable #124: Cannot find data type Single.ALTER TABLE [Contract] ALTER COLUMN [Rollover_P] Single ERR:Column, parameter, or variable #124: Cannot find data type Single.ALTER TABLE [Contract] ALTER COLUMN [Rollover_L] Single ERR:Column, parameter, or variable #124: Cannot find data type Single.ALTER TABLE [Contract] ALTER COLUMN [Rollover_E] Single ERR:Column, parameter, or variable #124: Cannot find data type Single.ALTER TABLE [Contract] ALTER COLUMN [Rollover_T] Single ERR:Column, parameter, or variable #124: Cannot find data type Single.Processing CorporateALTER TABLE [Corporate] ALTER COLUMN [budgetamt] Single ERR:Column, parameter, or variable #96: Cannot find data type Single.ALTER TABLE [Corporate] ALTER COLUMN [lastpaymnt] Single ERR:Column, parameter, or variable #96: Cannot find data type Single.ALTER TABLE [Corporate] ALTER COLUMN [discount] Single ERR:Column, parameter, or variable #96: Cannot find data type Single.ALTER TABLE [Corporate] ALTER COLUMN [ColorCode] Single ERR:Column, parameter, or variable #96: Cannot find data type Single.ALTER TABLE [Corporate] ALTER COLUMN [Response] Single ERR:Column, parameter, or variable #96: Cannot find data type Single.ALTER TABLE [Corporate] ALTER COLUMN [CreditLimit] Single ERR:Column, parameter, or variable #96: Cannot find data type Single.Processing CountryProcessing Dashboards>> CREATING TABLE: DashboardsERR: Column, parameter, or variablLuke LaCourse  | 
                                         
                                        
                                            | 
                                         
                                       
                                     | 
                                  
                            
                       
                          
                            
                                    | 
                                     robvolk 
                                    Most Valuable Yak 
                                     
                                    
                                    15732 Posts  | 
                                    
                                      
                                        
                                          
                                           
                                            Posted - 2012-05-17 : 17:41:21
                                          
  | 
                                         
                                        
                                          | Not sure why it's called a table update module, it's actually altering the table structure.A Visual Basic/VBA/VBScript Single will map to a SQL Server real, although real doesn't include the full range of values.  In that case float may be used.If any of these columns are holding monetary values they should not use real or float (or Single for that matter), they should map to Decimal or possibly money in SQL Server.  If the data dictionary can be modified I'd recommend making the change there.  | 
                                         
                                        
                                            | 
                                         
                                       
                                     | 
                                  
                            
                       
                          
                            
                                    | 
                                     SwePeso 
                                    Patron Saint of Lost Yaks 
                                     
                                    
                                    30421 Posts  | 
                                    
                                      
                                        
                                          
                                           
                                            Posted - 2012-05-17 : 18:12:27
                                          
  | 
                                         
                                        
                                          A quick fix would be to create a custom data type named Single and have it based on SQL Server REAL datatype. N 56°04'39.26"E 12°55'05.63"  | 
                                         
                                        
                                            | 
                                         
                                       
                                     | 
                                  
                            
                            
                                | 
                                    
                                      
                                     
                                    
                                 |