sqlite database error : malformed disk image : not going away - database

I have been working with a database ( related to an android app) now this specific database has all my messages stored and i have no backup saved. when i'm trying to import this im getting the error ' malformed disk image'.
i tried all the procedures given on the net( import/export , dumping to an sql file everything'the error i'm getting is
***error near line 80376 messages.remote_key_id may not be NULL***
I can't believe that out of everything all my messages will be lost because of just one small error.
is there anyway i can just delete the record?
i tried opening the file through sqlite3 database browser but there , the record numbers stop at 800901.
so what is the line '83376' that it is pointing to?
please help
i really need to make this work.

Related

Saving large files (over 20 MB) in Access database with SQL Server back end fails

I have an application with Microsoft Access front end and SQL Server back end. The link is implemented via ODBC data source using SQL Server Native Client 11.0.
There is a table with a column Attachments of OLE Object data type. The back end is a table with VARBINARY(MAX) data type for the Attachments column.
I save files in the Attachment field using Bound Object Frame. Everything works fine until the file size exceeds about 20MB. The statement BoundOLEFrame.Action = acOLECreateEmbed takes about 2.5 minutes to complete. It does not throw any exceptions, but when the following MoveNext or any recordset re-positioning statements is performed, they fail with Run-time error "3426":
"The action was cancelled by an associated object."
As the result the file does not appear to be stored in the database. An attempt to open the file with Access UI by double-clicking on the field causes the error:
"A problem occurred while Microsoft Access was communicating with the
OLE server or ActiveX Control. Close the OLE server and restart it
outside of Microsoft Access. Then try the original operation again in
Microsoft Access."
Suspecting that the issue could be related to ODBC timeout, which is by default is set to 60 seconds, I tried to set the current database QueryTimeout to 600 seconds. But this did not help...
Inserting these large files directly in the table (in Access table datasheet view, right-clicking on the field and selecting Insert Object... in the pop-up menu) first appear as successful, because the file looks like it was inserted and could be opened by double-clicking on the field. But, when I try to close the table, I am prompted if I wish to save it. Answering in affirmative leads to the following error:
"You can't save this record at this time. Microsoft Access may have
encountered an error while trying to save a record. If you close this
object now, the data changes you made will be lost. Do you want to
close the database object anyway?"
According to Access specifications the size of an OLE Object field is 1 GB, which is well above the size of my files.
Any suggestions would be appreciated. I am looking for a way to resolve this particular problem. I don’t think that alternative design for file storage is pertinent to the topic.
I do not have an option to store files any other way.
well the OLE Object field size max may be 1G - - but the overall file size for Access is 2G.
so if you have more than 100 x 20M fields - then there is going to be a problem.
it's unclear how many records are actually transferring to the front end file. I would sanity test a very limited set of records to see whether it is the field size or the overall file size that is coming into play.... perhaps that will give some insight.
I can tell from your post that you DON'T want me to suggest putting those attached files in their own folder and just store the link - but hey - it is the better design.....

MS Access error "Unrecognized database format"

I've a MDB file, it was working well, but suddenly it stopped working and gave the error message that says:
Unrecognized database format
I tried a lot to retrieve the data but I got nothing, so if you have an application to fix corrupted MS Access files you can help me because the file has important data for me.
NOTE: Compact and repair service is not working, it gives the same error message.

SSRS Subscription Failure - An error occurred during rendering of the report

I have created a subscription that will place a report on a file share. When the subscription runs to build an excel file and put it on the shared drive, it gives the following error:
Failure writing file [Report Name] : An error occurred during rendering of the report.
When I looked in the logs I saw a little bit more detail, but it didnt mean much to me, as I am new to SSRS development.
Here is what i am getting:
An error occurred during rendering of the report. --->
Microsoft.ReportingServices.ReportProcessing.UnhandledReportRenderingException:
An error occurred during rendering of the report. --->
Microsoft.ReportingServices.OnDemandReportRendering.ReportRenderingException: An
error occurred during rendering of the report. --->
System.IO.IsolatedStorage.IsolatedStorageException: Unable to determine the
identity of domain.
What doesnt make sense to me is that I changed the file type on the export to CSV and it will export. What is even more shocking is that the CSV file is bigger than the excel file (i was able to do a manual export through the UI for the report.)
Any ideas on what is going on and how I can resolve this?
Thanks,
Craig

Database Server Disk Memory is Full

I am using SQL Server for my web application. How will I know that an insert query failed because the database server memory disk is already full
The error code you will get back will indicate that the disk is full: 1105 (primary filegroup full) or 9902 (log file full)
You can simulate this by disabling the auto-grow feature on the database (It's a checkbox in the database properties on the file tab) and filling up the database. The error will be the same.
ALTER DATABASE YourDatabase
MODIFY FILE (name='YourFile' MAXSIZE=50MB);
if you want to find you memory usage
exec sp_spaceused
This will give you how much memory you are used for particular database
Check the error code you get back from SQL Server when you try to insert into the database.
With that error given back you can then decide what to do. (e.g. Try to insert again,
Try to free up some memory on the server) Also if you havent already, place your Insert statement inside a Transaction so that you can rollback if an error occurs.
I suppose you can believe that if the disk is full the SQL server will return the error code :).
You can make your testing code think it is communicating with the SQL server but instead it will talk to some fake object of yours that will respond with the error codes you want to test.
There are frameworks that can help you. One of them is Rhino Mocks you can download from http://ayende.com

Trace file - how to use it

we have an application running on an IIS 6/ASP.NET 2.0 backed by a SQL Server 2005 STD edition X64. From time to time, the application crashes with some silly messages (some of the fileds are not found into a "select firled1, filed2.. from mytable"). I obtained a trace of the activity from the sql server taken while the application reported the errors. Note: the crash is encountered only during some heavy load on that server, like creating some reports simmultaneously by several users.
The question is: how can I use the trace file to solve the situation? How can I detect what goes wrong?
Thanks
I've got a video tutorial on getting started with Profiler at SQLServerPedia. In a nutshell, you'll want to export that trace file into a table, and then step through it in order looking at the errors that popped up. Profiler's trace files or trace tables by themselves won't say, "Here's what you need to fix in order to avoid this error" any more than a dump file will tell you "Here's the bad line of code" - you'll still need an experienced DBA to interpret the results. You may want to take the trace file to your local SQL Server User Group meeting and see if someone can help you.
OK, you need to get the trace data into a form that you can interrogate, i.e. a table.
Here are the details on how to load a trace file into a SQL Server table.
http://support.microsoft.com/kb/270599
You then need to identify the events that are responsible for your issue. Search the trace for events that occurred within the database that you are interested in and that also occurred around the time of the error you experienced.
The following link provides a good starting point for SQL Server Profiler/Trace information.
http://msdn.microsoft.com/en-us/library/ms187929.aspx
Have a read through this and if you get stuck let me know.
Cheers,

Resources