Microsoft.Data.Tools.TdsLib 0.2.2089.23
前缀已保留
dotnet add package Microsoft.Data.Tools.TdsLib --version 0.2.2089.23
NuGet\Install-Package Microsoft.Data.Tools.TdsLib -Version 0.2.2089.23
该命令旨在在 Visual Studio 的包管理器控制台中使用,因为它使用 NuGet 模块的版本 Install-Package。
<PackageReference Include="Microsoft.Data.Tools.TdsLib" Version="0.2.2089.23" />
对于支持 PackageReference 的项目,将此 XML 节点复制到项目文件中以引用包。
paket add Microsoft.Data.Tools.TdsLib --version 0.2.2089.23
NuGet 团队不提供对此客户端的支持。请联系其 维护者 以获取支持。
#r "nuget: Microsoft.Data.Tools.TdsLib, 0.2.2089.23"
#r 指令可以用于 F# Interactive 和 Polyglot Notebooks。将其复制到交互式工具或脚本的源代码中以引用包。
// Install Microsoft.Data.Tools.TdsLib as a Cake Addin #addin nuget:?package=Microsoft.Data.Tools.TdsLib&version=0.2.2089.23 // Install Microsoft.Data.Tools.TdsLib as a Cake Tool #tool nuget:?package=Microsoft.Data.Tools.TdsLib&version=0.2.2089.23
NuGet 团队不提供对此客户端的支持。请联系其 维护者 以获取支持。
Microsoft.Data.Tools.TdsLib
托管 C# 代码中对 TDS 协议(版本 7.4)的开源实现。它不是完整的实现,当前支持集中在登录步骤和一些通用的 TDS 功能。它不支持标准 数据流 或 T-SQL 命令。
此库主要用作 TDS 连接的检测和诊断,但也可以用于手动构造和处理 TDS 连接的任何步骤。它还可以用于模拟 TDS 客户端。
示例
建立 TDS 连接并登录到 SQL 服务器
using Microsoft.Data.Tools.TdsLib;
using Microsoft.Data.Tools.TdsLib.IO.Connection.Tcp;
using Microsoft.Data.Tools.TdsLib.Messages;
using Microsoft.Data.Tools.TdsLib.Packets;
using Microsoft.Data.Tools.TdsLib.Payloads.Login7;
using Microsoft.Data.Tools.TdsLib.Payloads.PreLogin;
using Microsoft.Data.Tools.TdsLib.Tokens.Error;
string hostname = "sqlserver.contoso.net";
int port = 1433;
using TdsClient client = new TdsClient(new TcpServerEndpoint(hostname, port));
// Send PreLogin message
await client.MessageHandler.SendMessage(new Message(PacketType.PreLogin)
{
Payload = new PreLoginPayload(encrypt: true)
});
// Receive PreLogin message
var preLoginResponseMessage = await client.MessageHandler.ReceiveMessage(b => new PreLoginPayload(b));
// Perform TLS handshake
await client.PerformTlsHandshake();
// Prepare Login7 message
Login7Payload login7Payload = new Login7Payload()
{
Hostname = hostname,
ServerName = "MyServerName",
AppName = "MyAppName",
Language = "us_english",
Database = "MyDatabaseName",
//Username,
//Password
};
login7Payload.TypeFlags.AccessIntent = OptionAccessIntent.ReadWrite;
Message login7Message = new Message(PacketType.Login7) { Payload = login7Payload };
// Send Login7 message
await client.MessageHandler.SendMessage(login7Message);
// Receive Login response tokens
await client.TokenStreamHandler.ReceiveTokensAsync(tokenEvent =>
{
if (tokenEvent.Token is ErrorToken errorToken)
{
// Error was received from the server
}
});
// If no error token was received, and SQL server did not close the connection, then the connection to the server is now established and the user is logged in.
产品 | 版本 兼容和额外计算的目标框架版本。 |
---|---|
.NET | net5.0 已计算。 net5.0-windows 已计算。 net6.0 已计算。 net6.0-android 已计算。 net6.0-ios 已计算。 net6.0-maccatalyst 已计算。 net6.0-macos 已计算。 net6.0-tvos 已计算。 net6.0-windows 已计算。 net7.0 已计算。 net7.0-android 已计算。 net7.0-ios 已计算。 net7.0-maccatalyst 已计算。 net7.0-macos 已计算。 net7.0-tvos 已计算。 net7.0-windows 已计算。 net8.0 已计算。 net8.0-android 已计算。 net8.0-browser 已计算。 net8.0-ios 已计算。 net8.0-maccatalyst 已计算。 net8.0-macos 已计算。 net8.0-tvos 已计算。 net8.0-windows 已计算。 |
.NET Core | netcoreapp2.0 已计算。 netcoreapp2.1 已计算。 netcoreapp2.2 已计算。 netcoreapp3.0 已计算。 netcoreapp3.1 已计算。 |
.NET Standard | netstandard2.0 兼容。 netstandard2.1 已计算。 |
.NET Framework | net461 已计算。 net462 已计算。 net463 已计算。 net47 已计算。 net471 已计算。 net472 已计算。 net48 已计算。 net481 已计算。 |
MonoAndroid | monoandroid 已计算。 |
MonoMac | monomac 已计算。 |
MonoTouch | monotouch 已计算。 |
Tizen | tizen40 已计算。 tizen60 已计算。 |
Xamarin.iOS | xamarinios 已计算。 |
Xamarin.Mac | xamarinmac 已计算。 |
Xamarin.TVOS | xamarintvos 已计算。 |
Xamarin.WatchOS | xamarinwatchos 已计算。 |
-
.NETStandard 2.0
- 无依赖。
NuGet 包
此包未由任何 NuGet 包使用。
GitHub 仓库
此包未由任何流行的 GitHub 仓库使用。
版本 | 下载 | 最后更新 |
---|---|---|
0.2.2089.23 | 1,667 | 9/21/2022 |