SharePoint Visual Web部件和Oracle连接问题

时间:2011-02-01 08:58:57

标签: visual-studio-2010 sharepoint-2010 oracle11g

我正在尝试为SharePoint 2010构建一个“可视化Web部件”,它应该连接到Oracle表并在SharePoint页面上显示记录。对于开发,Oracle 11g客户端(使用ODP.net),SharePoint Server 2010,Visual Studio 2010和Oracle 10g Express都在我的机器上运行。

首先,我在ASP.NET Web应用程序中编写了示例代码,以连接我的本地Oracle表并在网格视图中显示数据,并且工作正常。我的代码是,

OracleConnection con;
            try
            {
                // Connect
                string constr = "Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=XE)));User Id=SYSTEM; Password=password";

                con = new OracleConnection(constr);

                //Open database connection
                con.Open();

                // Execute a SQL SELECT
                OracleCommand cmd = new OracleCommand("select * from T_ACTIONPOINTS WHERE AP_STATUS='Active' ", con);
                OracleDataReader dr = cmd.ExecuteReader();

                GridView.DataSource = dr;

                GridView.DataBind();
                GridView.AllowPaging = true;

            }
            catch (Exception e)
            {
                lblError.Text = e.Message;
            }

现在,我正在尝试创建新的“SharePoint”可视化Web部件项目,并使用相同的代码并将其部署在本地SP服务器上。但是当它运行时,我会收到以下错误

enter image description here

这是我的解决方案资源管理器,

enter image description here

兼容性看起来有些不对劲。有人指出我正确的方向吗?

2 个答案:

答案 0 :(得分:0)

你有Oracle.DataAccess.dll吗?您需要将它放在sharepoint Web应用程序的bin目录中。

或者,您必须在Web部件中引用它作为参考。确保此DLL包含在您的解决方案包中。

答案 1 :(得分:0)

在Visual Studio 2010中,默认情况下,引用并不总是包含在解决方案包中。所以只是因为它在项目引用中,并不一定意味着它会使服务器之旅。要检查您的DLL是否在解决方案包中:

  • 从解决方案资源管理器中打开包
  • 点击清单标签

如果您的DLL未在“程序集”部分中列出,请执行以下步骤:

  • 单击“高级”选项卡
  • 在其他程序集下,单击添加>添加现有程序集......
  • 找到您的DLL并单击“确定”