问题标签 [msodbcsql17]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
324 浏览

sql-server - 在 linux 上使用 BCP 从 csv 文件插入数据失败,没有输出

我正在尝试使用通过 bcp 加载的 msobdcsql17 驱动程序从 ubuntu 16.04 加载 .csv 文件。Linux 服务器位于活动目录环境中,我使用用户名/密码组合来访问数据。

当我运行该命令时,它不会加载任何文件,也不会提供任何输出。

我决定让它尽可能简单,所以这是我的例子。 (通过本网站代码)

(SomeTable)

文本文件(test.csv)

格式文件(format.fmt)

命令

结果

虽然结果没有显示任何内容,但小符号的变化表明它返回错误。

注意:我正在尝试访问一个实例(端口号 1234 的原因)。使用命名实例不适用于 linux 驱动程序,因此必须分配和使用固定端口。

我试过的:

  • 调整凭据:它显示一个错误,表明它无法使用错误的凭据登录
  • 导出格式文件:工作正常
  • 从相同的凭据/配置转储:工作正常
  • 卸载所有 ODBC 驱动程序,重新安装 msodbcsql17:失败,无输出
  • 使用 Sql Server ODBC 驱动程序 v13:失败,无输出
  • 使用 XML 格式文件:失败,无输出
  • 尝试删除格式文件并使用“-c”选项:失败,无输出

关于可能出错的可能想法:

  • 它无法访问服务器上的文件:我需要将驱动器映射到 sql 框上的 linux 服务器吗?
  • ??????????

如果有人知道如何获得一些详细的输出以便我可以进行故障排除或实现这一点,我会很乐意帮助......

0 投票
1 回答
1371 浏览

ubuntu-18.04 - Ubuntu 18.04 和 msodbcsql17:无法打开 lib - 我应该提交错误报告吗?

伙计们,我已经安装了至少几十次 msodbcsql 包。从来没有出现过这个问题。昨天甚至花了一整天的时间来解决这个问题。

第 1 步:将 apt 密钥和 repo 添加到 sourced.list.d 第 2 步:apt-get 安装 msodbcsql17、mssql-tools、php odbc_pdo 扩展等 第 3 步:创建一个非常基本的 test.php(在所有其他现有的旧服务器 WORKS)与我的 mssql 数据库建立测试连接。

失败:

是的,该文件存在。

我已经尝试 chmod 755 到该文件,仍然说它不存在。

我对文件做了一个 ldd ,这是输出:

似乎缺少两个库。我发现我有 libssl1.1 和 1.0.0。我已经尝试为 libssl 共享对象的 1.1 和 1.0.0 版本创建符号链接。仍然得到同样的错误。

再次,是的 - 我已经复制/粘贴了错误尖叫的确切路径。路径是正确的。

我也尝试过使用 isql 命令行 - 完全相同的错误。所以这肯定与 odbc<->msodbcsql 库有关。这不是特定于 PHP/PDO/ODBC 的东西。

有趣的是,mssql-cli 命令行工具(来自 Microsoft 存储库)确实有效。对它运行 ldd 表示它不是动态可执行文件。

所涉及的所有库的已安装版本:

所有版本都是 Microsoft 存储库中提供的最新版本。全部在 Ubuntu 18.04 下。我只是在我的笔记本电脑上重新尝试了这个过程(我已经做过无数次了)——同样的结果。抱怨找不到驱动库。

odbcinst -j 的输出如下:

是的,这些文件存在于 /etc/odbcinst.ini 和 /etc/odb.ini 中。

/etc/odbcinst.ini 的内容:

运行“stat /opt/microsoft/msodbcsql17/lib64/libmsodbcsql-17.3.so.1.1”:

我发现关于这个问题的信息很少。我遇到的几篇帖子要么没有解决问题,要么没有得到答复。

所以..我在这里错过了什么吗?还是我应该提交错误报告?

顺便说一句,从第一天开始,我就遇到了 Ubuntu 18.04 和 msodbc 的问题。最初,有 libcurl3/4 问题。我想现在已经解决了。但这似乎是……一个错误?

0 投票
3 回答
2996 浏览

php - 使用 WindowsAuth / Kerberos 连接到 MS SQL Server 的 Linux Apache+PHP 问题(“没有可用的 Kerberos 凭据”)

以下设置:我有一台 Linux (Debian) 机器作为网络服务器 (apache) 和 Windows 上的 MS SQL Server。此外,我无法为此获取 SQL 用户,只能通过 AD/Windows Auth 进行身份验证。

我正在使用按照 Microsoft 的说明安装的 Microsoft ODBC 驱动程序和 sqlsrv 扩展。

kinit成功地使用主体名称和密码运行。现在,基于 Windows-Auth 的与 MSSQL Server 的连接在使用 sqlsrv_connect 时sqlcmd甚至在交互模式下使用 PHP(php -a. 我收到这样的错误消息:

我知道附加 _XX 的缓存代表 UID,所以认为这可能是我已经尝试过不同用户请求票证的问题,但我无法让它工作。

我还尝试使用 unixODBC 并定义一个 DSN。它在测试isql和使用odbc_connectphp 交互模式(也使用 python 使用 pyodbc)时工作,但不是来自 php 页面。

有人知道我缺少什么吗?这可能很明显,但我对这个主题相当陌生,并且没有太多关于从 linux 机器访问基于 Windows 的 MS SQL 服务器而无需额外 SQL 用户的信息。提前感谢您的帮助!

0 投票
2 回答
9635 浏览

python-3.x - Driver's SQLAllocHandle on SQL_HANDLE_HENV failed (0) (SQLDriverConnect) when connecting to Azure SQL database from Python running in OpenShift

Only when trying to connect to my Azure DB from Python 3.7 running in a OpenShift container (FROM rhel7:latest) I see the following error:

I tried the exact same code in Docker on my MAC, Windows and a RHEL7 Virtualbox running the RHEL7 base container - it always works! The problem is only in my container running in OpenShift! I checked that I can telnet to my Azure DB server in 1433 from Openshift.

I enabled the ODBC logs as well but there is no more information than the above error.

What else should I check?

Here is how I set up the MSODBC driver in my Dockerfile:

And here is the code that throws the error:

inside modules.database:

Inside my flask app (the error gets thrown in the call to 'has_table'):

As I mentioned in the beginning, the same Dockerfile gives me a working Container in Docker either locally on Mac or Windows or inside a RHEL7 VM. Thanks for having a look!

0 投票
2 回答
2535 浏览

python-3.x - 如何修复“无法打开 libmsodbcsql-17.3.so.1.1”

在 ubuntu 19.04 中,在安装了 pyodbc 4.0.26 的 anaconda 环境中使用 Python3 时,我得到了Error: ('01000', "[01000] [unixODBC][Driver Manager]Can't open lib '/opt/microsoft/msodbcsql17/lib64/libmsodbcsql-17.3.so.1.1' : file not found (0) (SQLDriverConnect)")

如此处所述,在 ubuntu 19.04 中安装了 msodbcsql17 。我尝试了这里这里的所有建议。我做了这里描述的分析。

使用 pyodbc 4.0.26,可以在 anaconda 环境中使用python3 -c 'import pyodbc; print(pyodbc.drivers())'和 got来检查驱动程序['ODBC Driver 17 for SQL Server']

经过上面显示的链接的分析和解决方案,我仍然无法获得使用 MS-SQL 和 Python3 的连接。请帮我!

编辑:

还:

和:

我在 Anaconda 环境中工作。

0 投票
1 回答
3172 浏览

python - SQLAlchemy 错误:尝试完成事务失败。没有找到对应的交易

我已经安装了:

  • Ubuntu (18.04)
  • 蟒蛇(3.6.8)
  • msodbcsql17(用于 SQL Server 的 Microsoft ODBC 驱动程序 17)
  • SQLAlchemy (1.3.5)
  • 熊猫 (0.24.2)

我只想使用带有 Azure SQL 数据仓库的 SQLAlchemy 创建概念证明。但是,当我尝试在使用代码映射到客户视图表的客户模型上运行查询时:

抛出以下异常:

请记住,我可以将 SQLAlchemy 的引擎与 pandas 一起使用并运行本机 SQL 查询,例如:

但是,我需要使用 SQLAlchemy 的高级查询 API:

任何帮助将非常感激。

0 投票
1 回答
1922 浏览

python - 在 Python 中使用 SQL Server 文件流式传输

我正在尝试在 python 中使用 SQL Server 2017 文件流。我使用的所有功能都通过 sqlalchemy,因此我试图找到一种使用它的方法,因为我没有在 sqlalchemy 或其他库中找到任何实现(可能遗漏了一些东西,如果是这样,请指出我的工作和测试实现)。

我决定根据https://github.com/VisionMark/django-mssql-filestream/blob/master/sql_filestream/win32_streaming_api.py使用 dll 来解决这个问题。但是,我对 OpenSqlFilestream 的调用失败并返回 -1 而不是文件句柄。我不知道问题是什么或如何解决它。

所有查询都有效并输出(据我所知)正确的数据。

如何从 python (3.7) 获取对 SQL Server 2017 上文件的文件流访问权限?

编辑:我读取的对象达到千兆字节的大小,并且该过程只需要流访问。

0 投票
1 回答
1774 浏览

docker - 如何为 alpine linux 安装 msodbcsql17 驱动程序?

在 github 上发现了一个相关问题,但它在 msphpsql repo 下,所以我不确定它是否适用于 alpine 的一般驱动程序。它说MS还不支持。

官方 MS 安装页面有仅适用于 Debian、RedHat、SUSE、Ubuntu 的安装说明。

如果有任何解决方法,请提出建议。

如果这是不可能的,请尽可能在技术上详细说明您的答案。我在任何地方都找不到这个问题的合适答案。

0 投票
0 回答
972 浏览

sql-server - Ubuntu 16.06 找不到包 msodbcsql

我正在尝试在我的 Ubuntu 16.04 上安装 Microsoft ODBC Driver for SQL Server。我已经完成了

它看起来是正确的。现在我正在做ACCEPT_EULA=Y apt-get install msodbcsql17,我收到这条消息:

一般来说,在过去的几个小时里,我正在尽我最大的努力从 PHP 连接到 MSSQL Server,但是出了点问题,而且我没有理想的地方可能出了什么问题。我检查了很多教程,并且每个教程都有效。我确定我错过了什么,但我不知道是什么。你能帮我解决这个问题吗?提前致谢

0 投票
1 回答
657 浏览

unixodbc - MS SQL ODBC 17 驱动程序首先连接,但随后给出 SSL 提供程序错误:140A90F1:lib(20):func(169):reason(241)

我正面临 dotNET 核心应用程序的这个问题,它使用 odbc.ini 中定义的 DSN 与 SQL 服务器连接和断开连接。目前我正在使用最新的 MS SQL ODBC 驱动程序,即 msodbcsql17-17.4.2.1-1 和 UnixODBC 驱动程序 unixODBC 2.3.7。

我也尝试将 MSSQL ODBC 驱动程序降级到 11 和 13,但都没有成功。

我当前来自 odbc.ini 的 DSN 设置如下:

和日志文件包含以下错误:

提前致谢!