2010-05-24 68 views
0

无法导入应用程序定义文件!错误:名称为'XYZ'且类型为'LobSystemInstance'的元数据对象具有名称为'DatabaseAccessProvider'的属性,该属性具有无效值或类型。错误发生在Line:'10'和位置:'10'之前或之前。在ADF我们可以将Sharepoint连接到SQL Server 6.5吗?

线10:

<"Property Name="DatabaseAccessProvider" Type="System.String">SqlOledb<"/Property> 

请给我如何在SharePoint显示从SQL Server 6.5的数据上的想法?

+4

6.5!?真?节哀顺变。 – 2010-05-24 20:20:17

+0

SharePoint只是一个ASP.NET应用程序。如果你可以在ASP.NET中完成,你可以在SharePoint中完成。 – 2010-05-25 11:18:06

+0

任何人都可以帮助我吗? – nalini 2010-06-09 17:33:07

回答

0

该节点的值无效。您需要使用SqlServerOleDb。看看这个页面了解更多信息:

http://msdn.microsoft.com/en-us/library/ms550725(office.12).aspx

+0

如果我使用OleDb,ADF已成功导入,但是当我尝试使用业务数据列表Web部件时,它给我一个错误:“从XYZinstance中检索数据时发生错误”!即使我尝试使用应用程序定义设计器,它连接到数据库,但无法创建lobsystem实例。拖动n后,删除表并单击确定,它弹出uo这混乱:“desginer停止工作突然!!” – nalini 2010-05-25 16:19:23

0

我只是起一个类似的任务(让我找到了你回答的问题)。我正在尝试将我们的Sharepoint文档库复制到SQL数据库中。它不直接从SQL打开你的文件,它使用一些C#代码来设置一个作业,打开可能是你想要的共享点。

到目前为止我发现了两种方法: 一种方法是将您的数据从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);     
      } 

     } 
+0

Doh!我刚刚意识到你的问题正在走向另一条路。如果这是有用的,我会离开它,如果不是,那么我可以删除它。 我认为你可以使用相同的库去其他方式,但切换读取和写入。也许通过编写你的SQL来访问和使用访问来链接到你的SharePoint。 我还没有做过这个方向,所以我没有任何代码方便,但这是一种方法的描述。 在尝试使用内置的导入工具直接将SQL加载到SharePoint中或将其加载到访问权限后,请查看您是否可以访问SharePoint。 – JPK 2014-03-11 08:32:58

相关问题