lsp 发表于 2015-7-7 16:04:00

动态修改数据源连接串的问题

如何动态修改数据源连接串?

如下:我的系统发布时需要使用相对路径下的一个数据源:
jet oledb:database password=*******;provider=Microsoft.Jet.OLEDB.4.0;persist security info=False;data source=.\db\report.mdb;user id=admin;
1、使用上述数据源在发布时没有问题,但设计界面无法预览:data source路径不对!
2、如果设计时使用绝对路径,那发布之前还要把所有的报表数据源连接都改掉,我有好多报表,太麻烦!

有没有程序动态改这个数据源连接串的例子,这样我就只需要运行时:data source=apppath+db\report.mdb就行了!!

frank.zhang 发表于 2015-7-7 17:24:00

您好,
建议您使用共享数据源。共享数据源可以参考
http://www.gcpowertools.com.cn/docs/ActiveReports/AR9Guide/#!Documents/_224.htm

我们的在线实例就是使用共享数据源
http://www.gcpowertools.com.cn/products/activereports_demo.htm

在共享数据源中通过配置文件,就可以切换发布和开发环境,所有的报表都使用共享数据源,在开发和部署情况下,不用进行修改。
<RptDataSource xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
        <Name>NWind_CHS</Name>
        <ConnectionProperties>
    <!-- 发布环境 -->
    <!--<ConnectString>data source=D:\web\Demo\ActiveReports\ASPNET\ControlExplorer\Data\NWind_CHS.mdb;provider=Microsoft.Jet.OLEDB.4.0;</ConnectString>-->

    <!-- 开发环境:如需在 Visual Studio 设计阶段预览报表,请修改 Data\NWind_CHS.mdb 为你源码存放的绝对路径 -->
    <ConnectString>data source=F:\TFS\ActiveReportsDemo\Data\NWind_CHS.mdb;provider=Microsoft.Jet.OLEDB.4.0;</ConnectString>   
                <Extension>OLEDB</Extension>
        </ConnectionProperties>
</RptDataSource>

lsp 发表于 2015-7-8 14:22:00

追问:SectionReport的共享数据源如何指定?DEMO中没有找到!

frank.zhang 发表于 2015-7-8 14:33:00

您好,
SectionReport报表可以使用相对路径,可以参考
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Data\NWind_CHS.mdb;Persist Security Info=False


页: [1]
查看完整版本: 动态修改数据源连接串的问题