2010-05-24 4 views
0

응용 프로그램 정의 파일을 가져올 수 없습니다 !! 오류 : 이름이 'XYZ'이고 유형이 'LobSystemInstance'인 메타 데이터 개체의 이름이 'DatabaseAccessProvider'인 속성에 잘못된 값이나 형식이 있습니다. 줄 또는 '10'과 위치 : '10'에서 오류가 발생했습니다. ADF에서Sharepoint를 SQL Server 6.5에 연결할 수 있습니까?

라인 10 :

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

나에게 SharePoint의 SQL 서버 6.5의 데이터를 표시하는 방법에 대한 아이디어를 제공하세요?

+4

6.5 !? 정말? 내 애도. –

+0

SharePoint는 단순한 ASP.NET 응용 프로그램입니다. ASP.NET에서 할 수 있다면 SharePoint에서 할 수 있습니다. –

+0

아무도 도와 줄 수 없나요? – nalini

답변

0

노드 값이 유효하지 않습니다. SqlServer 또는 OleDb을 사용해야합니다. 자세한 내용은이 페이지를 체크 아웃 : 임 그냥 비슷한 작업에서 시작

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

+0

OleDb를 사용하면 ADF를 성공적으로 가져 왔지만 비즈니스 데이터 목록 웹 파트를 사용하려고하면 "XYZinstance에서 데이터를 검색하는 동안 오류가 발생했습니다"라는 오류가 발생합니다 !! 심지어 내가 응용 프로그램 정의 디자이너와 함께 노력했지만, 데이터베이스에 연결되어 있지만 lobsystem 인스턴스를 만들 수 없습니다. 나는 테이블을 끌어다 놓은 다음 테이블을 드래그 한 다음 ok를 클릭하여이 엉망이 튀어 나옵니다. "desginer가 갑자기 작동을 멈췄습니다!" – nalini

0

(그래서 당신의 답이없는 질문을 발견). 셰어 포인트 (Sharepoint)의 문서 라이브러리를 SQL 데이터베이스로 복사하려고합니다. SQL에서 직접 파일을 열지 않는 것은 C# 코드를 사용하여 원하는 작업이 될 수있는 셰어 포인트를 여는 작업을 설정하는 것입니다.

내가 지금까지 발견 한 두 가지 방법이 있습니다. 하나는 공유 폴더에서 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; 
       } 
      } 
     } 
    } 

다른 하나는 다음 SQL로 그것을 복사 Microsoft.Sharepoint 라이브러리를 사용하여 C#을에서 직접 셰어를 열 수 있습니다. 여기에 있습니다 : 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을 작성하여 액세스하고 사용하여 공유 지점에 연결할 수 있습니다. 나는이 방법을 사용하지 않았기 때문에 어떤 코드도 편리하지는 않지만 한 가지 방법에 대한 설명입니다. 당신이 그렇게하기 전에 내장 된 가져 오기 도구를 사용하여 SQL을 셰어 포인트로 직접로드하거나 액세스에로드하는 baring을 시도한 다음 셰어 포인트에 액세스 할 수 있는지 확인하십시오. – JPK

관련 문제