Database import fails and prints "insert table failed for eventLog" - what issue?

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • tvnaidu
    Contributor
    • Oct 2009
    • 365

    Database import fails and prints "insert table failed for eventLog" - what issue?

    database file gets created using below sql file, then lua script calls "db.import config_ascc", then I get errors says "insert table failed for eventLog", below are my sql file entry, config file, also import and saveTable function, any idea what is wrong, why I get error?. thanks in advance.




    system.sql file
    ==========
    CREATE TABLE eventLog
    (
    component text NOT NULL,
    facilityId integer NOT NULL,
    logLevel integer NOT NULL,
    textMessage text NOT NULL,
    binMessage blob,
    FOREIGN KEY (component,faci lityId) REFERENCES compFacilityMap (component,faci lityId)
    )
    ;

    insert into saveTables (tableName) values("eventLo g");


    config_ascci file
    ===========
    eventLog = {}
    eventLog[1] = {}
    eventLog[1]["component"] = "UMI_COMP_N TP"
    eventLog[1]["textMessag e"] = "Sun Dec 30 11:08:00 2007 [Netgard_MFD][System][NTP] ntpTblHandler:1 67:ntpTblHandle r\
    eventLog[1]["logLevel"] = "128"
    eventLog[1]["binMessage "] = ""
    eventLog[1]["_ROWID_"] = "1"
    eventLog[1]["facilityId "] = "3"
    eventLog[2] = {}
    eventLog[2]["component"] = "UMI_COMP_N TP"
    eventLog[2]["textMessag e"] = "Sun Dec 30 11:08:00 2007 [Netgard_MFD][System][NTP] ntpTblHandler:1 81:tz: 0 \
    eventLog[2]["logLevel"] = "128"
    eventLog[2]["binMessage "] = ""
    eventLog[2]["_ROWID_"] = "2"
    eventLog[2]["facilityId "] = "3"
    eventLog[3] = {}
    eventLog[3]["component"] = "UMI_COMP_N TP"
    eventLog[3]["textMessag e"] = "Sun Dec 30 11:08:00 2007 [Netgard_MFD][System][NTP] ntpTblHandler:1 91:DayLightsavi ng: 0 \
    eventLog[3]["logLevel"] = "128"
    eventLog[3]["binMessage "] = ""
    eventLog[3]["_ROWID_"] = "3"
    eventLog[3]["facilityId "] = "3"
    eventLog[4] = {}
    eventLog[4]["component"] = "UMI_COMP_N TP"
    eventLog[4]["textMessag e"] = "Sun Dec 30 11:08:00 2007 [Netgard_MFD][System][NTP] ntpTblHandler:2 04:status: 1 \
    eventLog[4]["logLevel"] = "128"
    eventLog[4]["binMessage "] = ""
    eventLog[4]["_ROWID_"] = "4"
    eventLog[4]["facilityId "] = "3"
    eventLog[5] = {}
    eventLog[5]["component"] = "UMI_COMP_N TP"
    eventLog[5]["textMessag e"] = "Sun Dec 30 11:08:03 2007 [Netgard_MFD][System][NTP] ntpTblHandler:2 36:pNtpControl->ServerNames[PRIMARY_SERVER]: 0.us.pool.ntp.o rg \
    eventLog[5]["logLevel"] = "128"
    eventLog[5]["binMessage "] = ""
    eventLog[5]["_ROWID_"] = "5"
    eventLog[5]["facilityId "] = "3"
    eventLog[6] = {}
    eventLog[6]["component"] = "UMI_COMP_N TP"
    eventLog[6]["textMessag e"] = "Sun Dec 30 11:08:03 2007 [Netgard_MFD][System][NTP] ntpTblHandler:2 42:pNtpControl->ServerNames[SECONDARY_SERVE R]: 1.us.pool.ntp.o rg \
    eventLog[6]["logLevel"] = "128"
    eventLog[6]["binMessage "] = ""
    eventLog[6]["_ROWID_"] = "6"
    eventLog[6]["facilityId "] = "3"
    eventLog[7] = {}
    eventLog[7]["component"] = "UMI_COMP_N TP"
    eventLog[7]["textMessag e"] = "Sun Dec 30 11:08:03 2007 [Netgard_MFD][System][NTP] ntpTblHandler:2 81:DS: 1 \
    eventLog[7]["logLevel"] = "128"
    eventLog[7]["binMessage "] = ""
    eventLog[7]["_ROWID_"] = "7"
    eventLog[7]["facilityId "] = "3"
    eventLog[8] = {}
    eventLog[8]["component"] = "UMI_COMP_N TP"
    eventLog[8]["textMessag e"] = "Sun Dec 30 11:08:03 2007 [Netgard_MFD][System][NTP] ntpdGetDefaultS ervers:509:pPri Serv 0.us.pool.ntp.o rg\
    eventLog[8]["logLevel"] = "128"
    eventLog[8]["binMessage "] = ""
    eventLog[8]["_ROWID_"] = "8"
    eventLog[8]["facilityId "] = "3"
    eventLog[9] = {}
    eventLog[9]["component"] = "UMI_COMP_N TP"
    eventLog[9]["textMessag e"] = "Sun Dec 30 11:08:03 2007 [Netgard_MFD][System][NTP] ntpdGetDefaultS ervers:510:pSec Serv 1.us.pool.ntp.o rg\
    eventLog[9]["logLevel"] = "128"
    eventLog[9]["binMessage "] = ""
    eventLog[9]["_ROWID_"] = "9"
    eventLog[9]["facilityId "] = "3"
    eventLog[10] = {}
    eventLog[10]["component"] = "UMI_COMP_PLATF ORM"
    eventLog[10]["textMessag e"] = "Sun Dec 30 11:08:03 2007 [Netgard_MFD][System][PLATFORM] platformHandleD BUpdate:248:DAT ABASE UPDATE, Table Name:vlan operation:INSER T row=2\
    eventLog[10]["logLevel"] = "128"
    eventLog[10]["binMessage "] = ""
    eventLog[10]["_ROWID_"] = "10"
    eventLog[10]["facilityId "] = "3"

    Code:
    database.lua script
    =============
    -- Import settings from given file.
    function db.import (filename)
    	local valid = true
    	util.appendDebugOut("Imported DB!<br>")
    	dofile(filename)
    	local saveTables = db.getTable("saveTables", false)
    	db.beginTransaction()
    	
    	-- for each dbTable
    	for k,v in pairs(saveTables) do
    		if (not valid) then break end
    		local tableName = v["tableName"]
    		local table = util.getLuaVariable(tableName)
            
            if (table == nil) then
                print ("no LUA variable:" .. tableName)
                break
            end
                
    		if (#table >= 1) then
    			-- for each row
    			for kk,vv in pairs(table) do
    				valid = db.insert(tableName, table[kk], true, true)
    				if (not valid) then 
                        print ("******** table insert failed for " .. tableName)
                        break 
                    end
    			end
    		end
    	end
    	
    	-- return
    	if (valid) then
    		db.commitTransaction()
    		return "imported successfully!!!!!!!!!!!!!!!!!!"
    	else
    		db.rollback()
    		return "import failed!"
    	end
    end
    
    
    
    
    
    
    
    -- Save table to file in ascii format.
    function db.saveTable (f, name, value, saved)
    	local one, two = "", ""
    	saved = saved or {}       -- initial value
    	if type(value) == "number" or type(value) == "string" then
    		one = name .. " = "
    		two = basicSerialize(value) .. "\n"
    		f:write(one, two)
    	elseif type(value) == "table" then
    		one = name .. " = "
    		if saved[value] then    -- value already saved?
    			f:write(one)
    			f:write(saved[value], "\n")  -- use its previous name
    		else
    			f:write(one)
    			f:write("{}\n")
    			saved[value] = name   -- save name for next time
    			for k,v in pairs(value) do      -- save its fields
    				local fieldname = string.format("%s[%s]", name,
    				basicSerialize(k))
    				db.saveTable(f, fieldname, v, saved)
    			end
    		end
    	else
    	-- function
    	end
    	f:flush()
    end
Working...