我已经对这个主题做了一些简单的研究,我想知道在Server中所有的专业人员和con是什么,还是启用/注册这个特定的.dll?
返回信息--我们正在与第三方应用程序集成(不幸的是,这不是我的决定),其中一些应用程序需要这个.dll,而另一些则是.dlls。我需要CLR函数的目的是能够用SSMS编写SQL查询,并将数据发送到第三方应用程序的API,然后该API将执行正确的数据加载/更改(必须通过它的API对该应用程序进行插入和删除)。
编辑-也许我应该包括这个细节
在尝试注册我的c#类时,我显然得到了一个错误:"system.web未注册的诸如此类的东西“,这反过来又促使了我对这个主题的研究。
结束编辑
因此,我的难题是,为了能够注册我的C#类/. all,我必须注册所有依赖的.all,但是根据我的研究,我知道这个特定的类可能会有相当大的问题。
因此,鉴于我对谷歌研究之外的陷阱并不十分熟悉,我想知道你们中是否有人能帮助我了解如何在这方面做出最好的决定。
此外,我还能在这篇文章中添加什么,这样才能更容易地提供洞察力呢?我不太确定C#代码是否相关?我知道这可能有点宽泛,但我希望它足够具体,不会被标记?
更具体地说明这里发生了什么(根据所罗门的要求)
我不确定我是否对API有足够的了解来回答这个问题。我非常能够而且只是缺乏这样做的知识和经验。这也可能是因为我对如何与这个特定API交互有限制,而且我不确定这些限制如何适用于这些方法。(我会进一步调查,看看能否亲自回答这个问题)。
尽管我越多地考虑这个问题,我就可以创建一个SQL Server可以调用的“中间”类,然后调用另一个类,这个类将拥有所有正确的引用,这可能会使我通过当前的情况。不过,我仍然对具体的反馈感兴趣,这样我才能从中吸取教训。
这是我的c#课程:
using Perfion.Api; -- this .DLL references System.Web.
using Perfion.Api.Import;
using System;
using System.Data;
using System.Data.SqlClient;
using System.IO;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
namespace PerfInsert
{
public static class PerfionInsert
{
public static bool CreateCommand(string tblString, string featureName, string connectionString, string perfionConnectionString, string logFile)
{
StringBuilder logInfo = new StringBuilder();
try
{
var wList = new Regex(@"[^0-9a-z\.\[\]_]#", RegexOptions.IgnoreCase);
if (wList.IsMatch(tblString))
{
logInfo.AppendLine($"{DateTime.UtcNow} - Regex Validation Failed for Table Name!");
return false;
}
using (SqlConnection connection = new SqlConnection(connectionString))
{
var qryString = "SELECT * FROM " + tblString;
using (SqlCommand command = new SqlCommand(qryString, connection))
{
connection.Open();
using (var dataReader = command.ExecuteReader())
using (var dataTable = new DataTable())
{
dataTable.Load(dataReader);
PerfionApi api = new PerfionApi(perfionConnectionString);
Importer importer = new Importer(api.Connection);
importer.Status += (sender, e) => { logInfo.AppendLine($"{DateTime.UtcNow} - {e.Title}"); };
importer.LoadData(dataTable);
importer.ImportToDatabase(featureName);
}
}
}
return true;
}
catch (Exception ex)
{
logInfo.AppendLine($"{DateTime.UtcNow} - {ex.ToString()}");
}
finally
{
File.AppendAllText(logFile, logInfo.ToString());
}
return false;
}
}
}发布于 2019-10-28 14:37:42
https://dba.stackexchange.com/questions/252077
复制相似问题