* Added a user friendly message to the sqlite regionsettings saver giving them troubleshooting options and telling them to restart the simulator. This situation, hopefully is temporary and generates an exception when sqlite users first start OpenSimulator because of an unexpected condition in the database layer. Restart and all is well.

* Added a user friendly message to the 'No IInventoryService available' condition with troubleshooting options.
trunk
Teravus Ovares 2009-07-10 21:47:54 +00:00
parent ec1a5d8933
commit d54aac41d2
2 changed files with 18 additions and 2 deletions

View File

@ -719,7 +719,23 @@ namespace OpenSim.Data.SQLite
terrainDa.Update(ds, "terrain");
landDa.Update(ds, "land");
landAccessListDa.Update(ds, "landaccesslist");
regionSettingsDa.Update(ds, "regionsettings");
try
{
regionSettingsDa.Update(ds, "regionsettings");
}
catch (SqliteExecutionException SqlEx)
{
if (SqlEx.Message.Contains("logic error"))
{
throw new Exception(
"There was a SQL error or connection string configuration error when saving the region settings. This could be a bug, it could also happen if ConnectionString is defined in the [DatabaseService] section of StandaloneCommon.ini in the config_include folder. This could also happen if the config_include folder doesn't exist or if the OpenSim.ini [Architecture] section isn't set. If this is your first time running OpenSimulator, please restart the simulator and bug a developer to fix this!",
SqlEx);
}
else
{
throw SqlEx;
}
}
ds.AcceptChanges();
}
}

View File

@ -158,7 +158,7 @@ namespace OpenSim.Region.Framework.Scenes
if (m_InventoryService == null)
{
throw new Exception("No IInventoryService available.");
throw new Exception("No IInventoryService available. This could happen if the config_include folder doesn't exist or if the OpenSim.ini [Architecture] section isn't set. Please also check that you have the correct version of your inventory service dll. Sometimes old versions of this dll will still exist. Do a clean checkout and re-create the opensim.ini from the opensim.ini.example.");
}
}