.Net Core支持查询Vertica

4

我想从.Net Core应用程序连接到Vertica数据库,但Vertica.Data软件包与.Net Core不兼容。一直在寻找适用于.Net Core的其他软件包,但未找到任何解决方案。 是否有其他方法在.Net Core应用程序中查询Vertica?


有人可以在这里提供帮助吗? - nimisha shrivastava
2个回答

5
目前还没有面向netstandard的.NET Core兼容的Vertica ADO.NET连接器。您可以联系Vertica支持并询问他们是否有任何计划。 Vertica具有适用于Windows和Linux的ODBC驱动程序,但不幸的是,.NET Core 1.1(netstandard 1.6)尚未具备ODBC连接器。根据https://github.com/dotnet/corefx/pull/15646的说法,它将在nestandard2.0中安排(预计在2017年第二季度发布预览版),并已合并到开发分支中。 --- 更新 --- System.Data.Odbc已经有稳定版本,并且在Windows和Linux上运行正常。

感谢提供详细信息,这正是我在进行了大量研究后所发现的。 - nimisha shrivastava
1
@codemirror 我在Linux(Docker)的生产环境中使用System.Data.Odbc,它运行良好。 - Vitaliy Fedorchenko
当我在Linux(Docker)上使用System.Data.Odbc时,它会抛出以下错误: System.DllNotFoundException:需要依赖unixODBC的最低版本为2.3.1。 无法加载共享库'libodbc.so.2'或其任何依赖项。 - Elias Ghali
@EliasGhali 在 Linux .NET ODBC 驱动程序中需要 'unixODBC' 库。要将它包含到 Docker 映像中,请在 Dockerfile 中添加以下命令:RUN apt-get update -y && apt-get install -y --no-install-recommends unixodbc && rm -rf /var/cache/apt - Vitaliy Fedorchenko
1
@EliasGhali 在 Linux(docker)上使用 .NET Core 3.1 和 System.Data.Odbc 绝对是可行的,我已经成功地使用它了。请确保您使用正确版本的 nuget 包:<PackageReference Include="System.Data.Odbc" Version="4.7" /> - Vitaliy Fedorchenko
显示剩余2条评论

0
您可以在 .net core 2.1+ 中使用 HP Vertica 提供的 Nuget 中的 Vertica.Data 包。
在构建时会显示警告。
"Package Vertica.Data was restored using .NETFramework instead of target framework .NETCoreAPP"

但它运行良好,尽管我没有在生产环境中测试过。

使用以下方式使用它

using Vertica.Data.VerticaClient;

更新

在Windows环境下部署时可以正常工作,但在Linux环境下无法正常工作。


2
在Windows环境下部署时它可以工作,但在Linux环境下无法工作。 - codemirror
"Vertica.Data"最后更新于2016年,它不包括netstandard2.0+构建,以实现与在Linux上作为docker容器运行的.NET Core / .NET 5的完全兼容性,在这种情况下,"Vertica.Data"无法工作,因此接受该答案是奇怪的。 - Vitaliy Fedorchenko

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接