Ketika kita memerlukan data di sharepoint server, tentu akan dibuat bingung jika belum mengetahui caranya. Mungkin sebagian dari kita akan membayangkan akan memakai web service atau mengakses databasenya saja langsung. Web service mungkin ada benarnya, tetapi untuk mengakses databasenya secara langsung ternyata cukup merepotkan jika kita belum mengetahui struktur database pada sharepoint. Berikut ada satu cara yang cukup mudah untuk diimplementasikan. (Saya memakai console hanya sebagai contoh, jika yang diperlukan seperti Windows Form maka cara sebenarnya sama saja)
- Langkah pertama yang dilakukan tentu saja membuat project bertipe Console Application, jangan lupa tambahkan reference Microsoft.Sharepoint.

- Berikutnya kita tinggal melakukan coding untuk membaca list yang ada pada sharepoint server. Kebetulan saya membuat 2 class yaitu class Employees yang isi attribute di dalamnya sama dengan tipe data list Employees yang ada di Sharepoint server dan class Server yang berisi code untuk membaca Sharepoint list.
Employees.cs
class Employees
{
public string Title { get; set; }
public string JobTitle { get; set; }
public string Team { get; set; }
public string Project { get; set; }
}
Server.cs
class Server
{
public List GetEmployeesList()
{
SPList oList;
try
{
List retList = new List();
SPSecurity.RunWithElevatedPrivileges(delegate()
{
using (SPSite oSite = new SPSite("http://zuckerberg/"))
{
using (SPWeb oWeb = oSite.OpenWeb())
{
oList = oWeb.Lists["Employees"];
SPListItemCollection collListItems = oList.Items;
foreach (SPListItem oListItem in collListItems)
{
Employees tempClass = new Employees();
tempClass.Title = Convert.ToString(oListItem["Title"]);
tempClass.JobTitle = Convert.ToString(oListItem["Job Title"]);
tempClass.Team = Convert.ToString(oListItem["Team"]);
tempClass.Project = Convert.ToString(oListItem["Project"]);
retList.Add(tempClass);
}
}
}
});
return retList;
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
}
}
Program.cs
class Program
{
static void Main(string[] args)
{
Server server = new Server();
List list = server.GetEmployeesList();
foreach (Employees employeese in list)
{
Console.WriteLine(employeese.Title + "\t" + employeese.JobTitle
+ "\t" + employeese.Project + "\t" + employeese.Team);
}
Console.ReadLine();
}
}
- Oh iya, hampir aja lupa, berikut adalah data yang terdapat pada Sharepoint server
Disini terlihat kalau nama list yang ingin saya tampilkan bernama "Employees" dengan nama kolom "Title", "Job Title", "Team", "Project". Nama-nama yang juga ada pada code yang ditampilkan diatas. Jadi bisa teman-teman ganti sesuai dengan data pada sharepoint server kalian.
- Ketika program dijalankan, maka output yang dihasilkan akan seperti gambar dibawah ini
Sama bukan seperti pada data di server
- Adapun error yang sering terjadi ketika proses kompilasi yaitu
Retrieving the COM class factory for component with CLSID {BDEADF26-C265-11D0-BCED-00A0C90AB50F} failed due to the following error: 80040154
Hal ini terjadi karena console yang kita pakai bertipe 32 bit sedangkan Sharepoint sendiri bertipe 64 bit. Solusinya mudah saja, pada project Properties - Build - Platform Target - Pilih AnyCPU atau x64

- Semoga bermanfaat ^_^