Sharepoint OLE DB - cannot insert records? "Field not updateable" error
        Posted  
        
            by Pandincus
        on Stack Overflow
        
        See other posts from Stack Overflow
        
            or by Pandincus
        
        
        
        Published on 2010-04-08T19:08:16Z
        Indexed on 
            2010/04/08
            19:53 UTC
        
        
        Read the original article
        Hit count: 456
        
I need to write a simple C# .NET application to retrieve, update, and insert some data in a Sharepoint list.
I am NOT a Sharepoint developer, and I don't have control over our Sharepoint server. I would prefer not to have to develop this in a proper sharepoint development environment simply because I don't want to have to deploy my application on the Sharepoint server -- I'd rather just access data externally.
Anyway, I found out that you can access Sharepoint data using OLE DB, and I tried it successfully using some ADO.NET:
var db = DatabaseFactory.CreateDatabase();
DataSet ds = new DataSet();
using (var command = db.GetSqlStringCommand("SELECT * FROM List"))
{
    db.LoadDataSet(command, ds, "List");
}
The above works.
However, when I try to insert:
using (var command = db.GetSqlStringCommand("INSERT INTO List ([HeaderName],
    [Description], [Number]) VALUES ('Blah', 'Blah', 100)"))
{
    db.ExecuteNonQuery(command);
}
I get this error:
Cannot update 'HeaderName'; field not updateable.
I did some Googling and apparently you cannot insert data through OLE DB!
Does anyone know if there are some possible workarounds?
I could try using Sharepoint Web Services, but I tried that initially and was having a heck of a time authenticating. Is that my only option?
© Stack Overflow or respective owner