您好:
目前使用
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");
}