c# sharepoint sharepoint-2007 sharepoint-list

lista de acceso en sharepoint 2007 usando c#



sharepoint-2007 sharepoint-list (2)

No estoy seguro de si lo que intenta hacer es posible a menos que use un conector de ado.net para SharePoint, eche un vistazo a http://www.bendsoft.com/net-sharepoint-connector/

Le permite hablar con listas de SharePoint como si fueran tablas sql ordinarias

En el ejemplo para insertar algunos datos

public void SharePointConnectionExample1() { using (SharePointConnection connection = new SharePointConnection(@" Server=mysharepointserver.com; Database=mysite/subsite User=spuser; Password=******; Authentication=Ntlm; TimeOut=10; StrictMode=True; RecursiveMode=RecursiveAll; DefaultLimit=1000; CacheTimeout=5")) { connection.Open(); using (SharePointCommand command = new SharePointCommand("UPDATE `mytable` SET `mycolumn` = ''hello world''", connection)) { command.ExecuteNonQuery(); } } }

O para seleccionar una lista de datos en una DataTable

string query = "SELECT * FROM list"; conn = new SharePointConnection(connectionString); SharePointDataAdapter adapter = new SharePointDataAdapter(query, conn); DataTable dt = new DataTable(); adapter.Fill(dt);

O usando un método de ayuda para llenar un DataGrid

string query = "Select * from mylist.viewname"; DataGrid dataGrid = new DataGrid(); dataGrid.DataSource = Camelot.SharePointConnector.Data.Helper.ExecuteDataTable(query, connectionString); dataGrid.DataBind(); Controls.Add(dataGrid);

Estoy buscando compilar datos de algunas listas de custome diferentes en sharepoint 2007

Es un sitio sharepoint alojado, por lo que no tengo acceso al backend de la máquina.

¿Hay algún código de ejemplo para acceder al sitio de sharepoint usando c #?

aquí está mi código hasta ahora (me sale el error No puedo conectarme al sitio Sharepoint ''''. Inténtalo más tarde ) .

DataSet dt = new DataSet(); string query = "SELECT * FROM list"; string site = "http://sp.markonsolutions.com/Lists/Security/"; string list = "35E70EO4-6072-4T55-B741-4B75D5F3E397"; //security db string myConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;WSS;IMEX=2;RetrieveIds=Yes; DATABASE="+site+";LIST={"+list+"};"; OleDbConnection myConnection = new OleDbConnection(); myConnection.ConnectionString = myConnectionString; OleDbCommand myAccessCommand = new OleDbCommand(query,myConnection); OleDbDataAdapter myDataAdapter = new OleDbDataAdapter(myAccessCommand); myConnection.Open(); myDataAdapter.Fill(dt); //execute queries, etc myConnection.Close();


Si no puede implementar código en el equipo de SharePoint, entonces prácticamente tiene que usar los servicios web.

El servicio web de listas es lo que buscas.

Estará ubicado en http://yousharepointsite.com/_vti_bin/Lists.asmx y debe estar abierto por defecto. Tenga en cuenta que si su sitio está configurado con FBA, deberá usar _vti_bin / Authentication.asmx para iniciar sesión antes de consultar lists.asmx.

Aquí hay un artículo que brinda toda la información que necesita:

http://sharepointmagazine.net/articles/writing-caml-queries-for-retrieving-list-items-from-a-sharepoint-list

Por las razones mencionadas anteriormente, omita la parte sobre el uso del modelo de objetos para consultar las listas de SharePoint y vaya directamente a Recuperar elementos de la lista con CAML utilizando los servicios web de SharePoint.

El artículo es bastante completo, así que creo que deberías estar bien con eso.

Según su edición, no creo que pueda crear una conexión a su sitio remoto de esa manera. No puede consultar SharePoint con SQL así, realmente necesita usar CAML ...

Una vez que haya agregado la referencia al servicio web:

ListService listsClient = new ListService.Lists(); listsClient.Url = @"http://sp.markonsolutions.com/" + @"/_vti_bin/lists.asmx"; listsClient.Credentials = System.Net.CredentialCache.DefaultCredentials; listsClient.GetListItems(...);

Lea más en GetListItems aquí

Como dije, necesitas usar los servicios web. Te diriges hacia un callejón sin salida si estás intentando crear una conexión como esa para consultar la base de datos directamente. No es recomendado