When I try to set the global allocation limit for HANA I get the error message
Transaction rolled back by internal error:exception 70000000:ste:: exception type file system manage /usr/sap.../global.ini ;Reason Write error
I assume I do not have the privilege to write in the global.ini file. Can I edit the global.ini file with the DB OS user? How can it be resolved? Any help is appreciated. Thanks a lot.
Have you checked whether the file system where the .ini file is stored is full by any chance? The file permissions should be fine and the error message would be different if they weren't.
Related
I have a problem in terms on connecting my DbLogSystem.mdb to my program.
1) When I try to insert/update a record using the program, it will proceed and perform successfully,
2) When I try to reset/delete all the records using MS Access it will proceed,
But when I Run my program the data/records are still existing.
What is the possible error?
Thanks in advance.
Below is the connection string that might cause the problem:
mydir := GetCurrentDir;
ADOConnection_get_data.ConnectionString:= 'Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database Password=puzzle33;Data Source='+ mydir +'\DbLogSystem.mdb;Persist Security Info=False';
or is there any method to link my .Exe program to my Database with the same path folder?
I believe you could just use a relative path to always link your .exe program with the database on the same folder
ADOConnection_get_data.ConnectionString:= 'Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database Password=puzzle33;Data Source=.\DbLogSystem.mdb;Persist Security Info=False'
As Zam says, check that you aren't alternating with two different database at the Release and Debug folders.
Also, are you sure you are commiting your changes ?. You may be using CommitUpdates (so your changes never really arrive to the database), or you may have an active transaction that you never commit (so it's rollbacked when you exit your application).
When I try to submit a job, I always get an error. In log I see this message:
The executable pre.exe aborted with system error code 529697949. Please check the .dat, .msg, and .sta files for error messages if the files exist.
I don't have these files. I looked for the solution, but the only idea is that there is not enough free space on my hard drive. I have 20GB free. Does anyone know if something else can cause this error? Or does anyone know how much free space I need for submitting a job in abaqus?
Oh, I found the answer. The problem was solved after I installed Abaqus to user, whose name doesn't contain any cyrillic symbols. Renaming the user didn't help, so, I had to make a new one with name in latin.
I came to this problem when I tried to import the stress status from another odb file, by defining the predefined field as type "stress".
I have solved this problem, by re-meshing the current model, to exactly the same with then meshing in the odb file that I need to read in.
I cannot seem to get anything out of SQLite other than "Unable to open the database file" on IIS. I'm convinced SQLite's error messages are as brusque as Oracle's.
Pre-deployment in Visual Studio 2010/IIS Express I can both read and write to the file.
When I tried to read/write it with the same VS2010 project deployed to IIS7.5, all "create", "read" and "write" commands fail.
The same occurs when I deploy the database file through the project and try to read it.
I've given Full control access to App_Data and the database file to the following users: IIS_IUSRS, IUSRS, DefaultAppPool, and Everyone.
I've looked at:
SQLite problem "unable to open the database file" (The problem automatically went away for the user) and a number of other similar questions, most of which were solved by changing permissions, changing to a writable directory (App_Data should be writable, no?) or changing a relative path to an absolute one (which |DataDirectory| should resolve to).
<connectionStrings>
<add name="sqlite" connectionString="Data Source=|DataDirectory|\datatables.sqlite;Version=3;" />
</connectionStrings>
Have I missed anything?
<Error>
<Message>An error has occurred.</Message>
<ExceptionMessage>Unable to open the database file</ExceptionMessage>
<ExceptionType>System.Data.SQLite.SQLiteException</ExceptionType>
<StackTrace>
at System.Data.SQLite.SQLite3.Open(String strFilename, SQLiteConnectionFlags connectionFlags, SQLiteOpenFlagsEnum openFlags, Int32 maxPoolSize, Boolean usePool) at System.Data.SQLite.SQLiteConnection.Open() at AjaxSource.Models.Database.query(String sql, Dictionary`2 parameters) in D:\Tools\Dropbox\Projects\myprojects\AjaxSource\AjaxSource\Models\Database.cs:line 48 at AjaxSource.Models.aaDataModel..ctor() in D:\Tools\Dropbox\Projects\myprojects\AjaxSource\AjaxSource\Models\aaDataModel.cs:line 18 at AjaxSource.Controllers.API.TableDataController.Get() in D:\Tools\Dropbox\Projects\myprojects\AjaxSource\AjaxSource\Controllers\API\TableDataController.cs:line 15 at lambda_method(Closure , Object , Object[] ) at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ActionExecutor.<>c__DisplayClass13.<GetExecutor>b__c(Object instance, Object[] methodParameters) at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ActionExecutor.Execute(Object instance, Object[] arguments) at System.Threading.Tasks.TaskHelpers.RunSynchronously[TResult](Func`1 func, CancellationToken cancellationToken)
</StackTrace>
</Error>
I had a problem opening Sqlite database in IIS
(0x80004005): unable to open database file unable to open database
file
what helped me to solve the problem is changing the "Identity" of the application pool to "LocalSystem"
Application Pools -> DefaultAppPool (or another pool you are working with) -> Advanced Settings -> Identity -> LocalSystem
Hopefully it will save someone time...
We used to encounter this problem on the machines of our customers most often, and I have made a lot of investigation upon it and finally we've solved it.
First of all, you need to make sure that your application has read/write access to the database file as well as the folder containing the database file. In most situations, the check will fix the issue; but we are not among those fortunate ones.
In our case, where the application makes very highly concurrent access to the database, it's most probably related to the journal mode of the database, which usually is DELETE by default. That is to say, the rollback journal will be deleted once the corresponding transaction is committed or rolled back. On **nix systems, it's no error; but on Windows systems, it's another story, as can be seen below. On Windows systems, the problem could take place in the following scenario:
A journal file (say A) is created by a SQLite thread.
Another thread P tries to open A.
SQLite has finished its transaction and so deletes the journal file A.
But now thread P has handle for A, so SQLite enters the “Delete Pending” state.
SQLite starts another transaction and has to recreate the journal file (with the same name).
Windows reports ERROR_DELETE_PENDING error (see here for more information: http://blogs.msdn.com/b/oldnewthing/archive/2007/11/09/6001644.aspx)
SQLite report SQLITE_CANTOPEN error (that is, "Unable to open the database file").
P finally releases the file handle and A is deleted.
One solution is to use PERSIST or TRUNCATE journal mode instead of DELETE. See here for more details: http://www.sqlite.org/pragma.html#pragma_journal_mode
In this way, the rollback journal (.-journal) is not deleted at all, and thus we can get rid of the problem you said. I hope this helps.
Well I don't know if this will answer your question, but in my case I had a dummy error which is that I gave a wrong relatif URL to the database file when I copied my code from a commandline projet to the mvc one. Hope someone will find this useful.
It wasn't a permissions problem. The problem is that I didn't check that |DataDirectory| actually resolved to the AppData directory like it's supposed to.
On the IIS 7.5 server, |DataDirectory| resolves to C:\inetpub\wwwroot\AjaxSource\App_Data, but the actual AppData is directory is C:\inetpub\wwwroot\AjaxSource\bin\App_Data.
The errors I caught using Fiddler never mention any paths, but imply a permissions problem. I had one of my views display the resolved directory with:
<h1>#AppDomain.CurrentDomain.GetData("DataDirectory")</h1>
(Oddly, this isn't documented).
Can I open the ads_err table from a windows service?
Yes. You should be able to open it just like any other table. You don't mention what development environment (client type) you are using, so I am not able to give more details specific to your situation.
After you have a connection to the server, all that is necessary is to supply the full path to the error log. If you don't want to hard code the path (probably desirable to avoid that), you can retrieve it with sp_mgGetConfigInfo(). The Error Log Path field is the one you would want.
You could also read the error log with SQL by including the path. For example, select * from [c:\ads_err].
I want to write to/delete a file but sometimes I get a crash if the file is in use by another program. How do I check to see whether the file is opened by another process or I can open it for writing?
The problem is, that between the time you check to see if you could get exclusive access and opening the file, something else gets exclusive access to the file, and you get the exception anyway.
The only fool proof way to see if you can get an exclusive lock on a file is to try and get an exclusive lock on the file, if you get it you have it.
If not, you catch the exception, and either
Go do something else
Wait a while and try again
It's one of life’s situations where it's better to ask for forgiveness than permission :)
There is a new way to get the origin of file locking for Vista and up here:
http://www.remkoweijnen.nl/blog/2011/01/03/cannot-access-files-but-need-the-origin/
UserMode:
The best way to write to a locked file is to ask the user to close it in the other process. In batch processes you should ignore such a file and log the problem. Providing the name of the other process is a very good way to find a solution for the user.
Not sure in which programming language you'd like to check if you can write to a file. In Java, java.io.File.canWrite() can do the job for you.
General:
In UNIX-like OS, you can use the lsof command.
If you want to see which program holds a handle to your file, use the Process Monitor (download from MicroSoft).
This tool has a command line interface, so you could use your language's scripting interface (for example java.lang.Process) to run the tool and display a useful error message.
IsFileInUse as given in http://delphi.about.com/cs/adptips1999/a/bltip0999_3.htm