iT邦幫忙

0

FastReport .NET Community Edition 如何移除Data Source

  • 分享至 

  • xImage

您好:
目前使用
FastReport .NET Community Edition 2023.02
想要作到 一份報表,不同連線 到不同DB抓資料
如下圖
1.請問如何移除已經設定的 data Source?
因為目前有鍵一個MSSQL 的帳號 rep
而 DB 目前對應到 BB_TEST 與AA_TEST (未來要有AA,AA_TEST,BB,BB_TEST 共4個DB可用),且只給dataReader的權限
先使用其中一個TABLE,報表CYCSET.trx可以正常RUN

但加下來,要用API坊是CALL 這 CYCSET.trx (之前測試用令一個單獨DB 的報表,有API 呼叫成功;目前只是在同一支API 加FUNCTION而以)
程式碼如下
但不知為何,執行到
sqlConnection.CreateAllTables();
就出現

System.Data.SqlClient.SqlException: '伺服器主體 "BB" 在目前的安全性內容下無法存取資料庫 "BB"。'

我的確是沒有將rep 帳號給 BB(因為目前測試階段),但他應該不會自動去抓BB的TABLE才對吧

想說,是否 建立DATA SOURCE 時,是否有作到什麼
想要先刪掉,重來
謝謝

   [HttpGet("SysSet/{id}")]

   public IActionResult SysSetXX(string id)
   {

       //---MSSQL 用法
       var r = new FastReport.Report();

       RegisteredObjects.AddConnection(typeof(MsSqlDataConnection));
       MsSqlDataConnection sqlConnection = new MsSqlDataConnection();



       sqlConnection.ConnectionString = "Data Source=DB2;AttachDbFilename=;Initial Catalog=AA_TEST;Integrated Security=False;Persist Security Info=True;User ID=rpt;Password=1234";

       sqlConnection.CreateAllTables();



       r.Report.Dictionary.Connections.Add(sqlConnection);
       var reportFile = Path.Combine(_webHostEnvironment.WebRootPath, @"Reports\SysSet.frx");



       r.Report.Load(reportFile);
       r.SetParameterValue("empno", id);
       r.Prepare();
       var pdfExport = new PDFSimpleExport();
       using MemoryStream ms = new MemoryStream();
       pdfExport.Export(r, ms);
       ms.Flush();

       return File(ms.ToArray(), "application/pdf");

   }

https://ithelp.ithome.com.tw/upload/images/20240527/20104095GqFvWlIPha.png

noway iT邦研究生 1 級 ‧ 2024-05-27 11:56:12 檢舉
有找到原因了
sqlConnection.CreateAllTables(); 拿掉即可
不過,還是想知道如何移除/重新命名 DATA SOURCE
謝謝
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友回答

立即登入回答