我们可以将Sharepoint连接到SQL Server 6.5吗?

时间:2010-05-24 20:18:26

标签: sql-server sharepoint

无法导入应用程序定义文件!!错误:名称为“XYZ”且类型为“LobSystemInstance”的元数据对象具有名称为“DatabaseAccessProvider”的属性,该属性具有无效值或类型。在Line:'10'和Position:'10'之前或之前遇到错误。

ADF第10行:

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

请告诉我如何在Sharepoint中显示SQL Server 6.5中的数据?

2 个答案:

答案 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);                   
            }

        }