是否可以直接在 ODBC 连接字符串中指定驱动程序 dll?

2024-01-06

我正在尝试使用 pyodbc 在便携式应用程序中连接到 SQL Server(MS SQL Server 通过 FreeTDS);因为它应该是独立的,所以我想避免必须在系统上显式安装驱动程序,只需将 ODBC 驱动程序 dll 与应用程序一起带来即可。

这一页 http://old.vk.pp.ru/docs/sybase-any/interfaces/00000040.htm建议可以直接在连接字符串中指定驱动程序 dll

  • 指定DRIVER=中的参数szConnStrIn论证SQLDriverConnect功能。例如:

    szConnStrIn = "driver=ospath/dbodbc6.dll;dbf=c:\asademo.db"
    

    where ospath是 Adaptive Server Anywhere 安装目录的操作系统子目录。

通过 pyodbc+ 尝试libtdsodbc.so在 Linux 上,它确实工作得很好;但是,在 Windows 上尝试相同的操作(pyodbc+tdsodbc.dll)我总是得到

pyodbc.Error: ('IM002', '[IM002] [Microsoft][ODBC 驱动程序管理器] 未找到数据源名称且未指定默认驱动程序 (0) (SQLDriverConnect)')

(my libtdsodbc.so不过,似乎没问题,因为如果我将其安装为“常规”驱动程序并使用其名称引用它,则连接正常)

检查的文档SQLDriverConnect https://msdn.microsoft.com/en-us/library/ms715433(v=vs.85).aspx和相关页面没有提及DRIVER=直接与 dll 路径一起使用的选项。

那么,Windows 上不是不支持“直接到 driver-dll”连接吗?是否有任何替代方案(尤其是使用 Python)可以绕过 ODBC 驱动程序管理器直接连接到驱动程序 dll?


Like TallTed 的回答 https://stackoverflow.com/a/54868650/775243提到,您链接的文档包含相当多的信息(但可能当时不存在),并且它的含义也很明确driver范围:

SQLDrivers 函数返回的驱动程序的描述。为了 例如,Rdb 或 SQL Server。

由此可见,它是not有效指示 Windows 中的路径(至少使用默认的 ODBC 实现)。

一般来说,如果不注册 ODBC 驱动程序,似乎也无法使用它,这需要管理员权限。这个答案 https://stackoverflow.com/a/42684077/775243列出一些选项。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

是否可以直接在 ODBC 连接字符串中指定驱动程序 dll? 的相关文章

随机推荐

  • 如何使用 python 获取地理 TIFF 图像

    今天我遇到了麻烦 因为我第一次必须使用 TIFF 文件 并且遇到了错误 我正在尝试获取具有欧洲污染剂值的栅格 因此我对保持图像的高分辨率没有兴趣 但只是为了保留数据 我可以操纵图像 我的代码很简单 from future import pr
  • 如何淡出文本、更改文本以及淡入文本?

    我在数据模板中使用 TextBlock 作为数据网格中的单元格 我有一个要求 当单元格的值发生变化时 文本应该 更改前淡出 值应该改变 再次淡入 目前 我使用 TargetUpdated RoutedEvent 触发动画 使文本消失然后再回
  • Laravel 4:to_array() 在哪里?

    伙计 这真是令人沮丧 在 Laravel 4 中 使用 Eloquent 可以实现以下效果 var dump Worker find 1 但如果我尝试使用to array 它崩溃了 var dump Worker find 1 gt to
  • ffmpeg 可以将音频从原始 PCM 转换为 WAV 吗?

    我可以将 wav 文件转换为 pcm ffmpeg i file wav f s16le acodec pcm s16le file pcm 我怎样才能恢复这个操作 wav 容器只是向原始 PCM 数据添加一个简单的标头 标头包括格式 采样
  • Django 中的单表继承

    Django 中是否明确支持单表继承 据我所知 该功能仍在开发和争论中 是否有我可以同时使用的库 黑客来捕获基本行为 我有一个混合不同对象的层次结构 具有 Employee 类 员工类型的子类和 manager id parent id 的
  • JPQL:查询多列时,什么样的对象包含结果列表?

    我正在尝试在 PHP Co 中做一些简单的事情 选择 COUNT x 作为 numItems AVG y 作为平均值 FROM Z 在 PHP 中 我会得到一个像 numItems 0 average 0 这样的简单数组 我可以像这样使用它
  • “找不到文件... bin\roslyn\csc.exe”[重复]

    这个问题在这里已经有答案了 In Visual Studio 2017 when hitting Ctrl F5 to run my ASP NET Framework Web API server I get Could not find
  • Perl 对数组引用的数组进行排序

    我对 Perl 比较陌生 我有一个名为 TransRef 的数组的引用 其中包含对数组的引用 我的目标是编写一个子程序 它将 TransRef 参数作为唯一参数 按第二个元素 字符串 对底层数组的引用进行排序 并将输出设置回 TransRe
  • for 循环和 for-each 循环之间有性能差异吗?

    以下两个循环之间的性能差异是什么 如果有 for Object o objectArrayList o DoSomething and for int i 0 i
  • 如何在 Apollo 客户端中使用没有 JSX 组件的 client.query?

    我正在尝试使用 React 在 Apollo 客户端中进行查询 而不返回 JSX 组件 只是一个对象 data对 Apollo 服务器进行公共查询时收到的对象 我尝试使用
  • C++11 元组性能

    我只是想通过使用使我的代码更加通用std tuple在很多情况下包括单个元素 我的意思是例如tuple
  • 如何在python中为一个if语句设置多个条件[重复]

    这个问题在这里已经有答案了 所以我正在 python 3 1 5 中编写一些代码 需要有多个条件才能发生某事 例子 def example arg1 arg2 arg3 if arg1 1 if arg2 2 if arg3 3 print
  • 以编程方式设置单选按钮的自定义绘图

    我正在 Android 中开发一个基本的绘画应用程序 但我似乎无法以编程方式为我的单选按钮设置自定义绘图 这些单选按钮由LayerDrawable与一个白色的ColorDrawable对于边框和插入黄色 或任何颜色 ColorDrawabl
  • 每种应用的样式都会发生一次回流吗?

    当我在 JavaScript 中执行此操作时 element style width 100px element style height 100px 我说文档中有 2 次回流对吗 如果我这样做 element setAttribute s
  • UICollectionViewCell 注册类失败,但注册笔尖有效

    创建自定义UICollectionViewCell for my UICollectionViewController 它通过注册笔尖来工作 但是 无法按班级注册 使用 registerClass 失败 按类注册似乎是正确的 它可以构建 但
  • 计算Excel行中的连续条纹

    我正在尝试计算 2 个值 当前连续和长期连续 每条记录位于 1 行并包含名称和值 每列的值都在 1 到 200 之间 例子 John Doe 14 16 25 18 40 65 101 85 14 19 18 9 3 Jane Doe 24
  • NavigationView 的自定义后退按钮文本

    如何更改后退按钮文本NavigationView当一个新的View被推 默认显示 返回 但我想将其更改为其他内容 目前在 SwiftUI 中可以实现吗 完整代码 struct SampleDetails View Environment p
  • Django 1.5 自定义用户模型 - 信号限制

    写的是在文档中 https docs djangoproject com en 1 5 topics auth customizing custom users and signals that 自定义用户模型的另一个限制是您不能使用 dj
  • 如何在mysql表中插入汉字?

    我想在mysql表中保存中文数据 谁能告诉我我必须在 mysql 和 PHP 中对其进行哪些设置 我的表将以英文和中文保存数据 某些列是英文 其他列是中文 单表可以吗 任何帮助将不胜感激 创建表时使用UTF 8 create table x
  • 是否可以直接在 ODBC 连接字符串中指定驱动程序 dll?

    我正在尝试使用 pyodbc 在便携式应用程序中连接到 SQL Server MS SQL Server 通过 FreeTDS 因为它应该是独立的 所以我想避免必须在系统上显式安装驱动程序 只需将 ODBC 驱动程序 dll 与应用程序一起