无法导入应用程序定义文件!!错误:名称为“XYZ”且类型为“LobSystemInstance”的元数据对象具有名称为“DatabaseAccessProvider”的属性,该属性具有无效值或类型。在Line:'10'和Position:'10'之前或之前遇到错误。
ADF第10行:
<"Property Name="DatabaseAccessProvider" Type="System.String">SqlOledb<"/Property>
请告诉我如何在Sharepoint中显示SQL Server 6.5中的数据?
答案 0 :(得分:0)
节点的值无效。您需要使用 SqlServer 或 OleDb 。有关更多信息,请查看此页面:
http://msdn.microsoft.com/en-us/library/ms550725(office.12).aspx
答案 1 :(得分:0)
我刚刚开始执行类似的任务(所以我找到了你未回答的问题)。我试图将Sharepoint中的文档库复制到SQL数据库。它没有直接从SQL打开你的文件,它使用一些c#代码来设置一个打开sharepoint的作业,这可能是你想要的。
到目前为止,我找到了两种方法: 一种是将数据从sharepoint复制到Access中的链接列表,然后使用OLEDB方法打开它。 在此处找到:C# Sync MS Access database to sql server
private static void BulkCopyAccessToSQLServer
(CommandType commandType, string sql, string destinationTable)
{
string connectionString = @"C:\Migration\Sharepoint Access SQL Batch Job\Database11.accdb";
using (DataTable dt = new DataTable())
{
string ConnStr = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Migration\Sharepoint Access SQL Batch Job\Database11.accdb;Jet OLEDB:Database Password=password";
//using (OleDbConnection conn = new OleDbConnection(Settings.Default.CurriculumConnectionString))
using (OleDbConnection conn = new OleDbConnection(ConnStr))
using (OleDbCommand cmd = new OleDbCommand(sql, conn))
using (OleDbDataAdapter adapter = new OleDbDataAdapter(cmd))
{
cmd.CommandType = commandType;
cmd.Connection.Open();
adapter.SelectCommand.CommandTimeout = 240;
adapter.Fill(dt);
adapter.Dispose();
}
using (SqlConnection conn2 = new SqlConnection(Settings.Default.qlsdat_extensionsConnectionString))
using (SqlConnection conn2 = new SqlConnection(connectionString))
{
conn2.Open();
using (SqlBulkCopy copy = new SqlBulkCopy(conn2))
{
copy.DestinationTableName = destinationTable;
copy.BatchSize = 1000;
copy.BulkCopyTimeout = 240;
copy.WriteToServer(dt);
copy.NotifyAfter = 1000;
}
}
}
}
另一种方法是使用Microsoft.Sharepoint库并直接从c#打开您的sharepoint,然后将其复制到您的SQL中。 在此处找到:http://www.dotnetspark.com/kb/3573-fetching-lists-from-sharepoint-2010-site.aspx
using (SharePointclientObj.ClientContext ctx = new SharePointclientObj.ClientContext(clientContext))
{
//Get the site
SharePointclientObj.Web site = ctx.Web;
ctx.Load(site);
//Get Lists
ctx.Load(site.Lists);
//Query
ctx.ExecuteQuery();
//Fill List
foreach (SharePointclientObj.List list in site.Lists)
{
Console.WriteLine(list.Title);
}
}