Camelot ADO.NET Connector For SharePoint

Basic Connection

var connection = new SharePointConnection(@"
    Server=mysharepointserver.com;
    User=spuser;
    Password=******;
    Authentication=Ntlm;
    TimeOut=10;
    SSL=True;
    RecursiveMode=RecursiveAll;
    DefaultLimit=1000;
    CacheTimeout=5");

connection.Open();

var command = new SharePointCommand(@"UPDATE `mytable` SET `mycolumn` = 'hello world'", connection);

command.ExecuteNonQuery();
connection.Close();
Download Button


Camelot .NET Connector is a ADO.NET driver for SharePoint which enables developers to query SharePoint data using SQL. The connector behaves like any other standard ADO.NET data provider by transforming your queries to multiple operations sent to a SharePoint Web service and returning the results using standard data types. It can be used by any developer with basic SQL knowledge to read and write data in any SharePoint server.

A quick overview

Microsoft SharePoint is quickly becoming a dominate application for storing and maintaining enterprise data and intelligence for organizations of all sizes. This has created a need and opportunity for people who has specialized in data integration and visualization between SharePoint and external applications.

The Camelot .NET Connector is the most flexible and powerful ADO.NET connector available for SharePoint. It enables easy access to SharePoint data like list items and documents. Allowing developers to work with well known ADO.NET framework and SQL speeds up the development process and uplift the production quality.

1-2-3. Install - Connect - Select

or insert, update and delete.Install-connect-select.png

Developers can now connect their .NET applications to SharePoint using SQL, just as if it was an ordinary database. The Camelot .NET Connector handles both predefined lists like the 'Calendar' and the 'Task list' but also custom lists and custom document libraries. There is no need to download or create any schema definition with the Camelot .NET Connector.

The ideal integrations companion

The Camelot .NET Connector is the best tool to use when integrating SharePoint. When using services like the free Camelot WCF Service you can access SharePoint from other platforms like PHP, Java or Objective-C.

  • Easy as 1-2-3, install - connect - select (or update, delete, insert)

  • Work with predefined or custom lists and document libraries

  • Ideal for integrations and internal SharePoint development

  • Opens up SharePoint for other platforms, like PHP, Java and Objective-C

  • Complete handling of documents, folders and document libraries

Complete-document-handling.pngYou query SharePoint as if it was a regular database, it doesn't matter if you are selecting from a default list, a modified version of a default list or from a custom list or document library, the Camelot .NET Connector for SharePoint will retrieve the data and make it available to your needs. Among others you can

  • select explicit columns (SELECT Id,Title FROM customList)

  • select everything (SELECT * FROM customList, add the .all to the list name to fetch every element available from the list)

  • select by view (SELECT * FROM customList.viewName)

The Select Syntax

SELECT
    {col_name [AS alias_name] [, col_name ...] | *}
    FROM list_name
        [.{view_name | content_type_name | ALL | ATTACHMENTS}]
    [WHERE where_condition]
    [ORDER BY col_name
    [ASC | DESC] [, col_name ...]]
    [LIMIT row_count];

As an example you can fetch your data to a DataSet or to a DataReader and present your result using standard .NET controls, such as in a GridView or DataGridView.

Full CRUD support

You are not limited to selecting data, there is equivalent support for INSERT, UPDATE and DELETE as well. See the documentation for a complete reference of the command syntax.

Complete handling of documents and folders

The built in stored procedures offer powerful handling of document libraries and it's content. The structure of the commands is very intuitive and it's easy to gain insight into how it works.

Some examples

  • Documents: UPLOAD, DOWNLOAD, MOVE, COPY, RENAME, DELETE, CHECKIN, CHECKOUT and UNDOCHECKOUT

  • Folders: CREATEFOLDER, MOVE, COPY, RENAME and DELETE

Syntax

UPLOAD(lisname, filename, data)
DOWNLOAD(listname, filename)
MOVE(listname1, filename1, listname2, filename2)
COPY(listname1, filename1, listname2, filename2)
RENAME(listname, filename1, filename2)
DELETE(listname, filename)
CREATEFOLDER(listname, foldername)
CHECKOUT(list, file, offline, lastmodified)
CHECKIN(list, file, comment, type)
UNDOCHECKOUT(list, file)

Architecture

The learning process is very rapid since the connector use the standard ADO.NET architecture as the native .NET data providers for SQL Server, you can use classes like SharePointCommand, SharePointConnection, SharePointConnectorException, SharePointDataAdapter, SharePointDataReader, SharePointFactory, SharePointParameter and SharePointParameterCollection.

Camelot .NET Connector lifts the CRUD support beyond default lists and document libraries. You get full Create, Read, Update and Delete from any list and any document library.

More examples comming soon

Basic Connection

var connection = new SharePointConnection(@"
    Server=mysharepointserver.com;
    User=spuser;
    Password=******;
    Authentication=Ntlm;
    TimeOut=10;
    SSL=True;
    RecursiveMode=RecursiveAll;
    DefaultLimit=1000;
    CacheTimeout=5");

connection.Open();

var command = new SharePointCommand(@"UPDATE `mytable` SET `mycolumn` = 'hello world'", connection);

command.ExecuteNonQuery();
connection.Close();

CRUD support beyond .NET: Access SharePoint from other platforms like PHP, Java or Objective-C

Alongside with the Camelot WCF Service the ability to Create, Read, Update and Delete extends outside of the .NET world. The WCF Service is a very powerful companion when making integrations between SharePoint and external systems.

Some PHP Samples

Selecting data from SharePoint with SQL

$SharePointQuery = new SharePointQuery(array(
    'sql' => "SELECT * FROM Tasks WHERE ID > 10",
    'connection_name' => 'SharePointConnection1'
));

Selecting data from SharePoint by list and view name

$SharePointQuery = new SharePointQuery(
    array(
        'listName' => 'Tasks',
        'viewName' => 'All Tasks',
        'includeAttachements' => false,
        'connection_name' => 'SharePointConnection1',
        'columns' => ''
    )
);

Insert data in SharePoint with SQL and SharePointNonQuery

$SharePointNonQuery = new SharePointNonQuery(array(
    'sql' => "INSERT INTO Tasks (Title,AssignedTo,Status,Priority,DueDate,PercentComplete) VALUES ('Test task from PHP',1,'In Progress','(1) High', '".  date('Y-m-d H:i:s') ."',0.95)",
    'method' => 'ExecuteNonQuery',
    'connection_name' => 'SharePointConnection1'
));

Delete data in SharePoint with SQL and SharePointNonQuery

$SharePointNonQuery = new SharePointNonQuery(array(
    'sql' => "DELETE FROM Tasks WHERE Title = 'Test task from PHP (updated)' OR Title = 'Test task from PHP'",
    'method' => 'ExecuteNonQuery',
    'connection_name' => 'SharePointConnection1'
));

Update data in SharePoint with SQL and SharePointNonQuery

$SharePointNonQuery = new SharePointNonQuery(array(
    'sql' => "UPDATE Tasks SET Title = 'Test task from PHP (updated)' WHERE PercentComplete = 0.95 AND TITLE = 'Test task from PHP'",
    'method' => 'ExecuteNonQuery',
    'connection_name' => 'SharePointConnection1'
));

With Camelot .NET Connector developers can work faster and create better and more flexible solutions. Since all in- and output from SharePoint is transformed into the well-known database computer language SQL (Structured Query Language) the development process becomes normalised. This bring opportunities to developers working with SharePoint list data and document libraries with no prior knowledge of SharePoint development.

  • Lower the threshold of required knowledge when working with SharePoint data and integrations.

  • Enhance productivity for developers

Simplify and rationalise

Many developers experience that the learning time to be able to rapidly develop applications when working with SharePoint is long. The developer often spend a lot of time understanding the SharePoint data structure, naming conventions and data type conversion requirements. The developer also needs to understand the CAML (Collaborative Application Markup Language) syntax used to query lists and views.

The Camelot .NET Connector removes these obstacles and surface new opportunities.

  • Reduce maintenance costs

  • Lower your SharePoint OPEX

  • Faster development

  • Less special training of developers

  • Easier to support data connectivity

  • Build cost effective and non proprietary tools and integrations

Developers ♥ Camelot .NET Connector

Supporting-custom-lists.png

One of the big challenges when developing in SharePoint is effectivity, both in code and time. Since the Camelot .NET Connector utilise the SharePoint API the ADO.NET adapter can among others be installed locally on the developers computer. This enables developers to debug their projects with SharePoint data in realtime and to build SharePoint staging environments.

  • Easy to build staging environments

  • Reduce code errors with better abilities to debug your applications

  • Enhanced security with SSL encryption support out of the box

  • Use with .NET 2.0, 3.0, 3.5 and 4.0. Combined with services like the Camelot WCF Service you may use it with other platforms like PHP, Objective-C, Java etc

  • Tune performance with caching features

  • Time based cache of the list schemas

In ASP.NET terminology, a server control is a software component that runs on the Web server as part of one or more ASP.NET Web pages. This provides a way of breaking complex Web pages into manageable pieces, and of using the same component in multiple pages. There are two kinds of ASP.NET server controls: user and custom.

  • Easy to build web parts, fast learning process

  • Use SQL to create, read, update and delete data in your lists

  • Ideal when making data available to reporting and analysis tools

  • Build web parts that integrates several SharePoint sites, SharePoint servers or external systems

  • Fast and flexible development

 

Visa     MasterCard