C# 4.0 ActiveReport\u ReportStart绑定子报表脚本

C# 4.0 ActiveReport\u ReportStart绑定子报表脚本,c#-4.0,activereports,C# 4.0,Activereports,我正在使用活动报告子报告工具, 我想通过连接Oracle将ActiveReport_ReportStart中的数据源绑定为脚本。 我正在使用下面的脚本,但出现以下错误: 错误消息:[DBNETLIB][Connection Open(Connect())。]SQL Server不存在或访问被拒绝。无效的连接字符串属性。 public void ActiveReport_ReportStart() { string connString = "Provider=SQLOleDB;User Id=X

我正在使用活动报告子报告工具, 我想通过连接Oracle将ActiveReport_ReportStart中的数据源绑定为脚本。 我正在使用下面的脚本,但出现以下错误: 错误消息:[DBNETLIB][Connection Open(Connect())。]SQL Server不存在或访问被拒绝。无效的连接字符串属性。

public void ActiveReport_ReportStart()
{
string connString = "Provider=SQLOleDB;User Id=XXX;Password=XX;Server=XXX;Service      Name=XX;Direct=True;Persist Security Info=True";
string sqlString = @"sql query";
DataDynamics.ActiveReports.DataSources.OleDBDataSource ds = new     DataDynamics.ActiveReports.DataSources.OleDBDataSource();
ds.ConnectionString = connString;
ds.SQL = sqlString;
rpt.DataSource = ds;
}

提前感谢…

就ActiveReports而言,我没有发现任何错误。我还没有时间详细研究这个问题,但它可能是您的连接字符串。错误消息来自SQLServer/OLEDB,它只是通过ActiveReports冒泡出来的

尝试对System.Data.OleDB.OleDBConnection对象使用相同的连接字符串,并查看其是否有效。如果你在那里也遇到了错误,那肯定是你的连接字符串。 如果没有,请告诉我,我会仔细看看


您可能还希望尝试在ActiveReports设计器中使用内置的连接字符串生成器,并使其在那里工作,然后将其复制到脚本中。

BTW:您可能希望尝试使用SqlDBDataSource,而不是OleDBDatasource,因为它看起来像是要直接使用SQL Server。感谢您的回复,它实际上是oracle连接,因此ı将连接字符串更改为:Devart.Data.oracle.OracleConnection con=new Devart.Data.oracle.OracleConnection();con.ConnectionString=“池=FALSE;用户Id=XX;密码=XX;服务器=XX;直接=True;Sid=XX;持久安全信息=True”;DataTable dt=新的DataTable();Devart.Data.Oracle.OracleDataAdapter da=new Devart.Data.Oracle.OracleDataAdapter(sqlString,con);da.填充(dt);sbrpt.DataSource=dt;但这一次我遇到了“找不到类型或名称空间Devart!”如何向脚本添加引用;AddScriptReference(“Devart.Data.Oracle.dll”);但它不起作用@kubilaybayraktar该错误显然是由无效的连接字符串引起的。您在原始问题中定义的字符串肯定不是有效的Oracle连接字符串。尝试使用.NET本身中的OLEDB提供程序(或在服务器资源管理器中使用visual studio的添加连接工具)测试一个。此外,还有一些Oracle for OLEDB连接字符串的示例。此外,在使用OLEDB时,仍然需要安装有效的Oracle客户端。我不确定这些版本,你必须和oracle核实一下。