odbc(odbc):Haskell绑定到ODBC API,针对SQL Server驱动程序

[bsd3型,图书馆,程序,未分类的][建议标签]

Haskell绑定到ODBC API。这已经过测试针对Microsoft SQL Server ODBC驱动程序。它的测试该套件在OS X、Windows和Linux上运行。


[跳到自述]

模块

[上次文档]

  • 数据库
    • ODBC(开放式数据库)
      • 数据库。ODBC。转换
      • 数据库。ODBC。内部
      • 数据库。ODBC。SQL服务器
      • 数据库。ODBC。真实航向

下载

维修人员角落

包装维护人员

对于包维护者和黑客托管者

候选人

  • 没有候选人
版本[RSS(RSS)] 0.0.0,0.0.1,0.0.2,0.0.3,0.0.4,0.0.5,0.1.0,0.1.1,0.2.0,0.2.1,0.2.2,0.2.5,0.2.6,0.3.0
更改日志 CHANGELOG公司
依赖关系 异步,无光泽的,基础(>=4.9.0.0&&<5),字节删除,集装箱,deepseq公司,格式化(>=6.3.1),可散列的,odbc(odbc),optparse应用程序,解析,半群,template-haskell模板,文本,时间,变压器,非浮心[细节]
许可证 BSD-3条款
版权 2018年FP完成
作者
维护人员 chrisdone@fpcomplete.com
主页 https://github.com/fpco/odbc
已上传 通过心灵感应2024-03-05T02:30:14分
分配 尼克斯(NixOS):0.3.0,堆叠:0.3.0
可执行程序 odbc(odbc)
下载 总计6375人(过去30天内有41人)
额定值 2.0(票数:1)[估算人贝叶斯平均]
您的评分
  • λ
  • λ
  • λ
状态 文档不可用[生成日志]
截至2024-03-05,所有报告的生成都失败[所有2个报告]

odbc-0.3.0自述文件

[返回包描述]

odbc(odbc)生成状态 生成状态

Haskell绑定到ODBC API,强调稳定性,测试和简单性。

平台和数据库支持

在CI中测试以下数据库驱动程序:

  • Microsoft SQL Server 2019

在CI中对以下操作系统进行测试:

  • Windows(窗口)生成状态
  • Linux操作系统生成状态

ODBC的工作原理

ODBC是一个拆分为经理和a司机.

在Windows上,操作系统附带了一个ODBC管理器。在Linux上和OS X,unixODBC包提供了相同的功能。

对于每种数据库类型,都有驱动程序包。当你提供连接字符串,如下所示:

ODBC_TEST_CONNECTION_STRING='DRIVER={ODBC DRIVER 13 for SQL Server};服务器=127.0.0.1;Uid=SA;Pwd=密码;加密=否'

这个驾驶员告诉ODBC API要使用哪个库。在这种情况下,它是Microsoft提供的最新SQL Server驱动程序。然后,ODBC功能,如SQLDriverConnectW将调用该库。

如何连接到Microsoft SQL Server

近年来,微软发布了用于SQL Server的二进制驱动程序适用于Windows、Linux和OS X,每个操作都有一个指南系统。最新最伟大的官方微软指南驱动程序是在这里.

您可以使用SQL Server docker映像在几秒钟内随时随地轻松运行SQL Server。

我已经在自己的机器上测试了OSX指令。此项目的Dockerfile遵循Linux的安装说明,以及AppVeyor文件遵循Windows的安装说明。

该软件包附带一个名为odbc(odbc)其接受连接字符串作为其参数。你可以用这个轻松测试您的连接。

(使用17而不是13如果这是您安装的驱动程序。)

$stack exec odbc'DRIVER={SQL Server的odbc驱动程序13};服务器=192.168.99.101;Uid=SA;Pwd=密码;加密=否'>创建表foo(int)行数:0>插入foo值(123123123)行数:0>从foo中选择*123123123行数:1

检查您的程序包是否正常工作

您可以在docker中启动SQL Server并使用平凡二进制odbc(odbc)此套餐附带的:

$docker run--net=host-e“ACCEPT_EULA=Y”-e“SA_PASSWORD=Passw0rd”-d mcr.microsoft.com/mssql/server:2017-CU8-ubuntu无法在本地找到图像“mcr.microsoft.com/mssql/server:2017-CU8-ubuntu”2017-CU8-ubuntu:从mssql/server拉取4fa80d7b805d:拉动完成484dd0f2fbdc:拉动完成47004b22ec62:拉动完成b70745c852a2:拉动完成718060832ef2:拉动完成5594e4e5950b:拉动完成5b67719e2956:拉动完成7d648891de3f:拉动完成e0d1b3db20c8:拉入完成ded313a21911:拉入完成摘要:sha256:e1708b7d3aaf4a693ef8785f15a8b4d0829381e373c4090fd0b294d1501e57状态:已下载mcr.microsoft.com/mssql/server:2017-CU8-ubuntu的更新映像ba1ad8b726c7e958bad6d2f7b051514f218c3024984f38adb2d6bb7751ea90$stack exec odbc'DRIVER={odbc DRIVER 17 for SQL Server};服务器=127.0.0.1;Uid=SA;Pwd=密码;加密=否'>选择2*3;6行数:1>$

常见问题

无法打开库“ODBC Driver 13 for SQL Server”

如果您看到这样的错误:

[unixODBC][Driver Manager]无法打开库“ODBC Driver 13 for SQL Server”:找不到文件

那么你可能会尝试使用错误的驱动程序。你可能有已安装版本17,因此将字符串更改为SQL Server的ODBC驱动程序17.

如果它仍然这样说,您可能需要配置odbcinst.ini文件:

[ODBC Driver 17 for SQL Server(SQL Server的ODBC驱动程序17)]驱动程序=<Driver_path>

在Nix中,这可能是<driver_path>是评估的结果${nixpkgs.unixODBCDrivers.msodbcsql17}/lib/libmsodbcsql-17.7.so.1.1“.

需要提供以下软件包:

  • nixpkgs.freetds
  • nixpklgs.unixODBC
  • nixpkgs.unixODBCDrivers.msodbcsql17

找不到数据源名称且未指定默认驱动程序

如果您看到这样的错误:

[unixODBC][Driver Manager]找不到数据源名称,未指定默认驱动程序

这是一条可怕的错误消息。如果通过shell传递DSN环境变量或参数,请检查输入字符串是否引用例如。“驱动程序=..”而不是驱动程序=。。由于愚蠢的外壳脚本引用问题。

终止时出现类型为的未捕获异常

如果在驱动程序版本为17的OS X上看到类似这样的错误,

libc++abi.dylib:以类型为的未捕获异常终止std::runtime_error:collate_byname::collate_yname构造失败对于C/en_AU.UTF-8/C/C/C

使用驱动程序13或有关详细信息,请参阅此处.

贡献者

  • 斯宾塞·詹森
  • 哟,八号
  • 马可·Z
  • 拉凯什·艾玛迪