如何使用 ODBC 连接 .NET Core 中的 Sybase 17 ASA?
How can I connect with Sybase 17 ASA in .NET Core, using ODBC?
我们有一个 Sybase 17 ASA 服务器并希望使用 ODBC 驱动程序进行连接。
我们的目标是使用完整的 .NET Core 2.1 及更高版本,而不是 .NET Standard 或 .NET Framework 4.x.
1。先决条件
假设您已经在机器上安装了 SQL Anywhere 17,包括所需的驱动程序。
2。应用设置
- 创建一个新的.NET Core 应用程序,本示例将使用控制台。我用过 2.2 版。
- 添加 NuGet 包System.Data.Odbc
3。 C#代码
添加以下命名空间:
使用 System.Data;
使用 System.Data.Odbc;
设置连接字符串:
DRIVER={SQL Anywhere 17};server=srv_name;Database=db_name;
uid=user;pwd=pass;LINKs=tcpip(host=aaa.bbb.ccc.ddd)
检索一些数据以确认其有效:
connection.Open();
var cmd = new OdbcCommand("select top 5 * from *table*", connection);
using (var reader = cmd.ExecuteReader())
{
while (reader.Read())
{
for (var i = 0; i < reader.FieldCount; i++)
{
Console.WriteLine(reader[i]);
}
}
}
为 IQ 创建链接服务器并执行简单的操作:
从 dbo.table_name;
插入 remoteserver.database.dbo.table_name select *
这就是 ASE 和 IQ 之间经常传输数据的方式。
现在有一个 .NET Core 3.1 库iAnywhere.Data.SQLAnywhere.NETCore
https://www.nuget.org/packages/iAnywhere.Data.SQLAnywhere.NETCore/
到目前为止,这已经提供了我查询数据和使用本机库而不是 ODBC 或旧的 4.6 库所需的结果。
编辑补充,我相信它仍然只有 Windows,所以不会遗憾地打开 Unix 托管 - 但对使用旧的 .NET 库来说是一个巨大的改进。
我们有一个 Sybase 17 ASA 服务器并希望使用 ODBC 驱动程序进行连接。 我们的目标是使用完整的 .NET Core 2.1 及更高版本,而不是 .NET Standard 或 .NET Framework 4.x.
1。先决条件
假设您已经在机器上安装了 SQL Anywhere 17,包括所需的驱动程序。
2。应用设置
- 创建一个新的.NET Core 应用程序,本示例将使用控制台。我用过 2.2 版。
- 添加 NuGet 包System.Data.Odbc
3。 C#代码
添加以下命名空间:
使用 System.Data;
使用 System.Data.Odbc;设置连接字符串:
DRIVER={SQL Anywhere 17};server=srv_name;Database=db_name; uid=user;pwd=pass;LINKs=tcpip(host=aaa.bbb.ccc.ddd)
检索一些数据以确认其有效:
connection.Open();
var cmd = new OdbcCommand("select top 5 * from *table*", connection);
using (var reader = cmd.ExecuteReader())
{
while (reader.Read())
{
for (var i = 0; i < reader.FieldCount; i++)
{
Console.WriteLine(reader[i]);
}
}
}
为 IQ 创建链接服务器并执行简单的操作: 从 dbo.table_name;
插入 remoteserver.database.dbo.table_name select *这就是 ASE 和 IQ 之间经常传输数据的方式。
现在有一个 .NET Core 3.1 库iAnywhere.Data.SQLAnywhere.NETCore
https://www.nuget.org/packages/iAnywhere.Data.SQLAnywhere.NETCore/
到目前为止,这已经提供了我查询数据和使用本机库而不是 ODBC 或旧的 4.6 库所需的结果。
编辑补充,我相信它仍然只有 Windows,所以不会遗憾地打开 Unix 托管 - 但对使用旧的 .NET 库来说是一个巨大的改进。