在 Python 中创建 jTDS 连接字符串

2023-12-14

我正在尝试使用 Python 建立 jTDS 连接。谁能帮我完成这个任务吗?

在 SQL Server 中,我通常使用以下连接字符串进行连接:

jdbc:jtds:sqlserver://DBServer:port/DBInstance;useNTLMv2=true;domain=Domain

我正在尝试在 Python 中执行以下操作:

import pyodbc
conn = pyodbc.connect('Driver={SQL Server};'
                      'Server=DBName,port;'
                      'Database=database;'
                      'Truster_Connection=yes;'
                      'uid=user;'
                      'pwd=password;'
                )

cursor = conn.cursor()
cursor.execute('SELECT * from Table')

for row in cursor:
    print(row)

Error:

pyodbc.InterfaceError: ('28000', "[28000] [Microsoft][ODBC SQL Server Driver][SQL Server]Login failed for user 'USER'. (18456) (SQLDriverConnect); [28000] [Microsoft][ODBC SQL Server Driver]Invalid connection string attribute (0); [28000] [Microsoft][ODBC SQL Server Driver][SQL Server]Login failed for user 'USER'. (18456); [28000] [Microsoft][ODBC SQL Server Driver]Invalid connection string attribute (0)"))

如果您专门尝试使用 jTDS 而不是 ODBC 连接到 MS SQL Server,那么您可以使用 jaydebeapi python 包。

请参阅以下代码(Python 3):

import sys
import jaydebeapi


def main():
    try:
        # jTDS Driver.
        driver_name = "net.sourceforge.jtds.jdbc.Driver"

        # jTDS Connection string.
        connection_url = "jdbc:jtds:sqlserver://<server_hostname>:<port>/<database_name>"

        # jTDS Connection properties.
        # Some additional connection properties you may want to use
        # "domain": "<domain>"
        # "ssl": "require"
        # "useNTLMv2": "true"
        # See the FAQ for details http://jtds.sourceforge.net/faq.html
        connection_properties = {
            "user": "username",
            "password": "password",
        }

        # Path to jTDS Jar
        jar_path = "<path_to>\\jtds-1.3.1.jar"

        # Establish connection.
        connection = jaydebeapi.connect(driver_name, connection_url, connection_properties, jar_path)
        cursor = connection.cursor()

        # Execute test query.
        cursor.execute("select 1 as test_connection")
        res = cursor.fetchall()
        if res:
            print(str(res))  # Should print [(1,)]

    except Exception as err:
        print(str(err))


if __name__ == "__main__":
    sys.exit(main())

在此之前,您需要完成以下工作:

  1. 从以下位置下载并安装 JDK/JREhere
  2. pip install jaydebeapi 或从以下位置下载here
  3. 从以下位置下载 jtdshere
  4. 更新connection_url、connection_properties、jar_path。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Python 中创建 jTDS 连接字符串 的相关文章

随机推荐

  • 如何阻止 numpy hstack 更改 opencv 中的像素值

    我正在尝试使用 opencv 在 python 中显示图像 并在其上显示侧窗格 当我使用np hstack主画面变得无法辨认的白色 只有少量的颜色 这是我的代码 img cv2 imread filename img with gt gt
  • 如何在 Visual Studio 2013 中的源代码管理下复制和重命名解决方案

    我有一个名为 ShoppingService sln 的 VS2013 解决方案 其中有 7 个项目受 TFS 源代码控制 现在我想复制该解决方案 将其重命名为 BasketService sln 并再次将其置于源代码控制之下 我不想创建原
  • 使用 PHP 和 DOTNET 类访问 Windows 注册表

    这是一个简单的问题 如何使用 PHP 和 DOTNET 类访问 Windows 注册表 我想做的是读取另一个程序写入的值 谷歌搜索并没有透露太多信息 我很感激任何答案 我找到了答案 它适用于 COM 对象 wscript new COM W
  • 将一个txt文件内容附加到另一个现有txt文件

    我正在尝试附加names txt将文件内容复制到另一个名为 as 的文件surname txt在文件末尾 不丢失以前的信息surname txt 有什么可能的方法来实现这个操作 为了执行此操作 我使用 php 以下解决方案完美运行 但数据没
  • HtmlUnit 测试失败示例

    我正在尝试通过 Junit 运行示例 HtmlUnit 测试用例 我的项目是基于 Maven 的 我是否需要将编译和测试下列出的所有依赖项添加到我的 POM 中 http htmlunit sourceforge net dependenc
  • android grafika ContinuousCapture 活动问题

    我正在使用 android grafika 进行视频录制 我将更改我想要的所有内容 一切都很完美 只有2个问题 如果我在 7 秒 例如 2 秒或低于 7 秒 后保存视频 那么它会保存 7 秒的视频 如果我拍摄的视频时长为 15 秒或更长时间
  • 在画布上绘制路径作为动画

    我必须再问一次 因为之前没有人回答我的问题 我的问题不是重复的如何在 Android 画布上用动画绘制路径 请仔细阅读并帮助我 如果可能的话 提供代码 上面的例子对我来说不清楚 路径是在绘图流程上创建的 这不是我要找的 我想绘制一条已存在于
  • Java 中的类型擦除

    类型擦除应该擦除所有通用信息 如果是这种情况 像 GSON 这样的库如何使用泛型来确定反序列化为什么类型 e g private Map
  • 将动力学函数应用于相空间中的每个点(由二维矩阵表示)

    我有一个整数矩阵 phase space形状的 n n 其中每个条目代表空间中该位置的点数 我还有两个更新矩阵u x u y也有形状 n n 整数在范围内0 n指定我的动力系统在空间中的每个对应点的位置 我想迭代地将更新矩阵 应用 到相空间
  • 如何使用 Ruby 将阿拉伯/波斯数字翻译成英语?

    如何将一些具有阿拉伯 波斯数字的字符串转换为英语 就像如果我有 str1 str2 12 str3 some string that contains persian digits like 是否有任何函数将其编码为英语 如果字符串包含这样
  • 调用局部视图

    我有一个渲染两个下拉列表的视图 下拉列表的控制器工作正常 他们调用存储库类中的方法来进行数据库选择 在下拉列表下方 我尝试在部分视图中呈现数据表 以响应下拉列表选择 视图中的下拉菜单使用单个模型 model BudgetDemo Model
  • 将数据表中的行选择限制为 3

    我目前正在使用 jQuery 数据表插件 想知道是否有任何方法可以将行选择限制为 3 现在用户可以选择无限数量的行 这是我的代码的 jsfiddle http jsfiddle net EfFA2 JS document ready fun
  • Ingress 与负载均衡器

    我对 Kubernetes 中 Ingress 和 Load Balancer 的角色很困惑 据我了解 Ingress 用于将来自互联网的传入流量映射到集群中运行的服务 负载均衡器的作用是将流量转发到主机 在这方面 ingress 与负载均
  • 如何在 SVG 中不缩放图像

    所以我有一个 SVG 图像 如下所示
  • Vuetify,如何设置默认道具

    我已经开始使用 Vuetify 但我正在寻找一种修改某些组件上的默认 props 的方法 有没有办法做到这一点 即不必不断地写
  • “]”附近的语法不正确。?

    我已经对我的 sql 进行了一些调试 但我无法弄清楚我遇到的令人抓狂的错误 我已将其缩小到几行 我看不出问题是什么 请有人给我一些帮助 我收到这个错误 我在这里2 消息 102 第 15 级 状态 1 第 1 行 附近语法不正确 我在这里3
  • 如何将 Font Awesome 图标添加到输入字段?

    如何使用 Font Awesome 中包含的搜索图标进行输入 我的网站上有一个搜索功能 基于 PHPmotion 我想将其用于搜索 这是代码 div div
  • Java Restful服务eclipse tomcat HTTP错误404

    我尝试跟上 java 休息服务 所以我找到了一些教程 它们的解释总是相同的 但我无法让它运行 我在eclipse中制作了2 5版本的Dynamic Web Project和Tomcat 7 0 然后我将以下 jar 加载到 WEB INF
  • Spring Security - 如何启用方法安全注释?

    StackOverflow 上有很多类似的问题 但我找不到任何答案 我有 web xml 像
  • 在 Python 中创建 jTDS 连接字符串

    我正在尝试使用 Python 建立 jTDS 连接 谁能帮我完成这个任务吗 在 SQL Server 中 我通常使用以下连接字符串进行连接 jdbc jtds sqlserver DBServer port DBInstance useNT