Microsoft.SqlServer.Management.SqlParser.Native 172.0.1
Prefix Reserved
dotnet add package Microsoft.SqlServer.Management.SqlParser.Native --version 172.0.1
NuGet\Install-Package Microsoft.SqlServer.Management.SqlParser.Native -Version 172.0.1
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Microsoft.SqlServer.Management.SqlParser.Native" Version="172.0.1" />
对于支持 PackageReference 的项目,请将此 XML 节点复制到项目文件中以引用包。
paket add Microsoft.SqlServer.Management.SqlParser.Native --version 172.0.1
NuGet 团队不提供对此客户端的支持。请联系其 维护者 以获得支持。
#r "nuget: Microsoft.SqlServer.Management.SqlParser.Native, 172.0.1"
#r 指令可用于 F# Interactive 和 Polyglot Notebooks。将此复制到交互式工具或脚本的源代码中,以引用包。
// Install Microsoft.SqlServer.Management.SqlParser.Native as a Cake Addin #addin nuget:?package=Microsoft.SqlServer.Management.SqlParser.Native&version=172.0.1 // Install Microsoft.SqlServer.Management.SqlParser.Native as a Cake Tool #tool nuget:?package=Microsoft.SqlServer.Management.SqlParser.Native&version=172.0.1
NuGet 团队不提供对此客户端的支持。请联系其 维护者 以获得支持。
Microsoft.SqlServer.Management.SqlParser.Native
概述
此 nuget 包提供了 Microsoft.SqlServer.Management.SqlParser 的 MSIL 和本地预先编译 (AoT) 版本,供 Net8.0 应用程序使用。
AoT 二进制文件可由 AoT 控制台应用程序 消费。
有一个专门为使用 C++ 应用程序等本地调用者提供的入口点 - Parse
这是原型
[System.Text.Json.Serialization.JsonSourceGenerationOptions(PropertyNamingPolicy = System.Text.Json.Serialization.JsonKnownNamingPolicy.CamelCase)]
[System.Text.Json.Serialization.JsonSerializable(typeof(ParseResultBase))]
internal partial class ParseResultContext : System.Text.Json.Serialization.JsonSerializerContext
{
}
public static class NativeApi
{
/// <summary>
/// Native API for parsing TSQL
/// </summary>
/// <param name="pString">The text to parse, encoded in UTF 8</param>
/// <param name="pVersion">An identifier of the version, encoded in UTF8. Can be a number associated with a
/// SQL Server version like "160" or a member of the TransactSqlVersion enumeration</param>
/// <returns></returns>
[UnmanagedCallersOnly(EntryPoint = "Parse")]
public static IntPtr Parse(IntPtr pString, IntPtr pVersion)
{
}
}
入门
这是一个示例 C++ 程序,列出调用 Parse
并打印结果的代码。
#include <windows.h>
typedef char* (*parse)(const char*, const char*);
int main()
{
HMODULE h = ::LoadLibrary(L"win-x64\\native\\Microsoft.SqlServer.Management.SqlParser.dll");
parse parser = (parse)::GetProcAddress(h, "Parse");
char* result = parser("sel b from foo", "160");
printf(result);
}
输出
{"batchCount":1,"parseErrors":[{"message":"Incorrect syntax near \u0027from\u0027.","start":{"lineNumber":1,"columnNumber":7,"offset":6},"end":{"lineNumber":1,"columnNumber":11,"offset":10},"isWarning":false,"type":1}],"resultId":1}
产品 | 版本 兼容和额外的计算目标框架版本。 |
---|---|
.NET | net8.0 兼容。 net8.0-android 已计算。 net8.0-browser 已计算。 net8.0-ios 已计算。 net8.0-maccatalyst 已计算。 net8.0-macos 已计算。 net8.0-tvos 已计算。 net8.0-windows 已计算。 |
-
net8.0
- 无依赖性。
NuGet 包
此包未被任何 NuGet 包使用。
GitHub 仓库
此包未被任何流行 GitHub 仓库使用。
版本 | 下载 | 最后更新 |
---|---|---|
172.0.1 | 1,224 | 3/21/2024 |
查看包中的 CHANGELOG.md 文件