none
создание элемент в sharepoint 2010 в MVS RRS feed

  • Вопрос

  • Добрый день. Пишу TimerJob для создания элемента списка в sharepoint 2010.

    Есть запрос к базе Oracle, который выдает данные, как исходя из этих данных создать элемент в списке?

    Например, 

    using (OracleConnection con = new OracleConnection(ConStr))
    using (OracleCommand cmd = new OracleCommand("select title, name from dual", con))
                {
                    con.Open();
    
                    SPListItem listItem = list.AddItem();
                    listItem["title"] = тут выдача запроса title;
                    listItem["name"] = тут выдача запроса name;
                    
                    listItem.Update();

    т.е. я получаю данные из базы Oracle, как на основании этих данных создать элемент? Обратно записать данные из листа в базу я могу :) Вот в обратном порядке привязать к переменной не знаю как.

    Спасибо.

    27 ноября 2013 г. 10:55

Ответы

  • Добрый день!

    Может Вам конечно такой вариант и не подходит, но все таки предложу как вариант. Есть возможность использоваться другой вариант коннекта. How to connect a native SharePoint list directly with an Oracle database query as external data source?

    27 ноября 2013 г. 11:50
  • еще вот нашла такой вариант, может он будет ближе к вашему вопросу 

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Runtime.Serialization;
    using System.ServiceModel;
    using System.ServiceModel.Web;
    using System.Text;
    using System.Data.OracleClient;
    
    namespace COreDBWCFService
    {
        public class Service1 : IService1
        {
            public List<Employee> getEmployees()
            {
                List<Employee> employees = new List<Employee>();
                string connectionString = "Data Source=orcl;Persist Security Info=True;" +
                       "User ID=system;Password=password-1;Unicode=True";
                using (OracleConnection connection = new OracleConnection())
                {
                    connection.ConnectionString = connectionString;
                    connection.Open();
                    OracleCommand command = connection.CreateCommand();
                    string sql;              
                    sql = "SELECT * FROM employeedetails where rownum<=100000";
                    command.CommandText = sql;
                    OracleDataReader reader = command.ExecuteReader();
                    while (reader.Read())
                    {
                        Employee employee = new Employee();
                        employee.Employee_ID = Convert.ToInt32(reader["Employee_ID"]);
                        employee.FirstName = Convert.ToString(reader["FirstName"]);
                        employee.LastName = Convert.ToString(reader["LastName"]);
                        employees.Add(employee);
                    }
                    return employees.ToList();
                }
            }
            public Employee getEmployeesbyID(Int32 empId)
            {
                Employee employees = new Employee();
                string connectionString = "Data Source=orcl;Persist Security Info=True;" +
                       "User ID=system;Password=password-1;Unicode=True";
                using (OracleConnection connection = new OracleConnection())
                {
                    connection.ConnectionString = connectionString;
                    connection.Open();
                    OracleCommand command = connection.CreateCommand();
                    string sql = "SELECT * FROM employeedetails where employee_id=" + empId;
                    command.CommandText = sql;
                    OracleDataReader reader = command.ExecuteReader();
                    while (reader.Read())
                    {
                        employees.Employee_ID = empId;
                        employees.FirstName = Convert.ToString(reader["FirstName"]);
                        employees.LastName = Convert.ToString(reader["LastName"]);
                    }
                }
                return employees;
            }
        }
    }

    взято вот из этой статьи: How to Create WCF Service to Retrieve Data From the Oracle Database

    27 ноября 2013 г. 11:58

Все ответы

  • Добрый день!

    Может Вам конечно такой вариант и не подходит, но все таки предложу как вариант. Есть возможность использоваться другой вариант коннекта. How to connect a native SharePoint list directly with an Oracle database query as external data source?

    27 ноября 2013 г. 11:50
  • еще вот нашла такой вариант, может он будет ближе к вашему вопросу 

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Runtime.Serialization;
    using System.ServiceModel;
    using System.ServiceModel.Web;
    using System.Text;
    using System.Data.OracleClient;
    
    namespace COreDBWCFService
    {
        public class Service1 : IService1
        {
            public List<Employee> getEmployees()
            {
                List<Employee> employees = new List<Employee>();
                string connectionString = "Data Source=orcl;Persist Security Info=True;" +
                       "User ID=system;Password=password-1;Unicode=True";
                using (OracleConnection connection = new OracleConnection())
                {
                    connection.ConnectionString = connectionString;
                    connection.Open();
                    OracleCommand command = connection.CreateCommand();
                    string sql;              
                    sql = "SELECT * FROM employeedetails where rownum<=100000";
                    command.CommandText = sql;
                    OracleDataReader reader = command.ExecuteReader();
                    while (reader.Read())
                    {
                        Employee employee = new Employee();
                        employee.Employee_ID = Convert.ToInt32(reader["Employee_ID"]);
                        employee.FirstName = Convert.ToString(reader["FirstName"]);
                        employee.LastName = Convert.ToString(reader["LastName"]);
                        employees.Add(employee);
                    }
                    return employees.ToList();
                }
            }
            public Employee getEmployeesbyID(Int32 empId)
            {
                Employee employees = new Employee();
                string connectionString = "Data Source=orcl;Persist Security Info=True;" +
                       "User ID=system;Password=password-1;Unicode=True";
                using (OracleConnection connection = new OracleConnection())
                {
                    connection.ConnectionString = connectionString;
                    connection.Open();
                    OracleCommand command = connection.CreateCommand();
                    string sql = "SELECT * FROM employeedetails where employee_id=" + empId;
                    command.CommandText = sql;
                    OracleDataReader reader = command.ExecuteReader();
                    while (reader.Read())
                    {
                        employees.Employee_ID = empId;
                        employees.FirstName = Convert.ToString(reader["FirstName"]);
                        employees.LastName = Convert.ToString(reader["LastName"]);
                    }
                }
                return employees;
            }
        }
    }

    взято вот из этой статьи: How to Create WCF Service to Retrieve Data From the Oracle Database

    27 ноября 2013 г. 11:58
  • спасибо, как я мог про Reader забыть, буду пробовать :)
    27 ноября 2013 г. 12:13