将 ODBC 应用程序与 JDBC 驱动程序结合使用

2024-03-18

我公司使用Vertica http://www.vertica.com/。我们有使用 pyodbc 连接到它的 Python 应用程序。我的大部分开发工作都是在 Mac (Snow Leopard) 上进行,不幸的是 Vertica 尚未发布适用于 Mac 的 ODBC 驱动程序。不过他们确实有 JDBC 驱动程序。我不认为在 Jython 中进行开发是一个好的妥协方案。有没有办法将 JDBC 驱动程序与 ODBC 应用程序一起使用?某种 ODBC 连接器?


编辑:vertica 5/6 的更新可以在这里找到https://github.com/serbaut/psycopg2 https://github.com/serbaut/psycopg2

这是使 psycopg2 2.2.1 与 vertica 4.0 一起工作的补丁。无需 ODBC。

diff --git a/psycopg/connection_int.c b/psycopg/connection_int.c
index 902fdbb..b07eee8 100644
--- a/psycopg/connection_int.c
+++ b/psycopg/connection_int.c
@@ -280,6 +280,10 @@ conn_setup(connectionObject *self, PGconn *pgconn)
         pgres = psyco_exec_green(self, psyco_datestyle);
     }

+    if (self->server_version == 0 && self->protocol == 3) { /* vertica */
+      self->encoding = strdup("UTF8");
+      self->isolation_level = 0;
+    } else {
     if (pgres == NULL || PQresultStatus(pgres) != PGRES_COMMAND_OK ) {
         PyErr_SetString(OperationalError, "can't set datestyle to ISO");
         IFCLEARPGRES(pgres);
@@ -335,7 +339,7 @@ conn_setup(connectionObject *self, PGconn *pgconn)
         return -1;
     }
     self->isolation_level = conn_get_isolation_level(pgres);
-
+    }
     Py_UNBLOCK_THREADS;
     pthread_mutex_unlock(&self->lock);
     Py_END_ALLOW_THREADS;
diff --git a/psycopg/typecast_builtins.c b/psycopg/typecast_builtins.c
index e8e5a1a..45b9dbc 100644
--- a/psycopg/typecast_builtins.c
+++ b/psycopg/typecast_builtins.c
@@ -1,15 +1,15 @@
 static long int typecast_NUMBER_types[] = {20, 23, 21, 701, 700, 1700, 0};
-static long int typecast_LONGINTEGER_types[] = {20, 0};
+static long int typecast_LONGINTEGER_types[] = {6, 20, 0};
 static long int typecast_INTEGER_types[] = {23, 21, 0};
-static long int typecast_FLOAT_types[] = {701, 700, 0};
-static long int typecast_DECIMAL_types[] = {1700, 0};
-static long int typecast_UNICODE_types[] = {19, 18, 25, 1042, 1043, 0};
+static long int typecast_FLOAT_types[] = {7, 701, 700, 0};
+static long int typecast_DECIMAL_types[] = {16, 1700, 0};
+static long int typecast_UNICODE_types[] = {8, 9, 19, 18, 25, 1042, 1043, 0};
 static long int typecast_STRING_types[] = {19, 18, 25, 1042, 1043, 0};
-static long int typecast_BOOLEAN_types[] = {16, 0};
-static long int typecast_DATETIME_types[] = {1114, 1184, 704, 1186, 0};
-static long int typecast_TIME_types[] = {1083, 1266, 0};
-static long int typecast_DATE_types[] = {1082, 0};
-static long int typecast_INTERVAL_types[] = {704, 1186, 0};
+static long int typecast_BOOLEAN_types[] = {5, 0};
+static long int typecast_DATETIME_types[] = {12, 13, 1114, 1184, 704, 1186, 0};
+static long int typecast_TIME_types[] = {11, 15, 1083, 1266, 0};
+static long int typecast_DATE_types[] = {10, 1082, 0};
+static long int typecast_INTERVAL_types[] = {14, 704, 1186, 0};
 static long int typecast_BINARY_types[] = {17, 0};
 static long int typecast_ROWID_types[] = {26, 0};
 static long int typecast_LONGINTEGERARRAY_types[] = {1016, 0};
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 ODBC 应用程序与 JDBC 驱动程序结合使用 的相关文章

  • JDBC SQL 客户端工具推荐[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 有人可以推荐一个好的 开源的 独立的开发工具来使用 JDBC 查询 SQL 数据库并将结果导出到文件吗 我知道许多数据库供应商都提供了他们
  • Heroku 找不到 Postgres JDBC 驱动程序

    使用 Maven 为 Heroku 编写纯 Java 服务器应用程序 连接到 Heroku 的 Postgres 数据库 运行时一切正常locally 使用 IntelliJ 的配置来运行 Java 应用程序 将 Heroku 的 DB U
  • 网络适​​配器无法建立连接 - Oracle 11g

    我编写了一个 servlet 程序 我希望它连接到我的 Oracle 数据库 但它给了我一个错误 我正在使用 Eclipse Helios Tomcat 6 0 37 Oracle 11g 11 2 0 1 0 ojdbc6 jar 在服
  • 停止或终止 JDBC 中长时间运行的查询

    有什么方法可以停止或终止 JDBC 中长时间运行的 Oracle 查询吗 通常最终会重新启动应用程序服务器以使 jdbc 与 Oracle DB 断开连接 寻找类似于 SQL Plus 的功能 Kill session在 Java 或 JD
  • 包 oracle.jdbc.driver 不存在

    以下代码出错 发生错误 1 import java sql public class DBConnect public static void main String a throws SQLException package oracle
  • 用于 SQL 更新语句的 Java 单工作线程

    我正在开发一个基于 Java 的服务器 其中有多个线程 每个连接的用户一个线程 一些额外的线程 会涉及到一些数据库连接 所以我在想服务器每次创建一个SELECT查询数据库时 它将为此启动一个新线程 以防止当前线程阻塞 我计划为此使用连接池
  • MS Access 和 ODBC。过滤器对话框不显示

    我的 Microsoft Access 数据库有问题通过 ODBC 连接到 Postgresql 数据库 过滤器对话框 用于使用多个可选复选框过滤数据 不起作用 编辑 不起作用 我的意思是没有可供选择的复选框 仅提供用于 A Z 和 Z A
  • 使用 MVC 和 DAO 模式在 JSP 页面中的 HTML 中显示 JDBC 结果集

    我正在使用 JSP 和 JDBC 实现 MVC 我已将数据库类文件导入到 JSP 文件中 并且想显示数据库表的数据 我不知道该如何归还ResultSet从 Java 类到 JSP 页面并将其嵌入到 HTML 中 我怎样才能实现这个目标 在设
  • 如何在Tomcat 7.0.47启动时注册oracle jdbc驱动程序?

    我将ojdbc6 jar复制到tomcat安装文件夹中的lib文件夹中 当我部署在 JDBC 连接中使用 Oracle 驱动程序的 Web 应用程序时 服务器说找不到驱动程序类 我被迫手动执行 DriverManager registerD
  • 在 Java 1.7.0 下运行的 SQL-Server (MSSQL-JDBC 3.0) 中的日期列检索为过去 2 天

    当使用 SQLServer2008 从 SQLServer2008 检索 DATE 类型的列时 出现奇怪的效果在官方 Oracle JDK 1 7 0 下运行时 主机操作系统是Windows Server 2003 所有日期列均检索为two
  • JDBC多线程插入可以吗?

    我目前正在开发一个 Java 项目 我需要准备一个大的 对我来说 mysql 数据库 我必须使用 Jsoup 进行网页抓取并将结果存储到我的数据库中 据我估计 我将大约插入 1 500 000 到 2 000 000 条记录 在我的第一次试
  • mariadb: jdbc: setTimestamp 截断毫秒

    在我看来 如果我使用准备好的语句将它们插入到我的 mariadb 中 毫秒就会被截断 谷歌搜索并不成功 我发现了很多类似的问题 这些问题要么已解决 要么不适用 但很难相信我是唯一一个遇到这个问题的人 所以我想在向 mariadb 提交错误之
  • Flask-SQLAlchemy .count() 和 .all() 的记录计数不同

    在 SQLAlchemy 中 ModelName query filter by field name value count 返回正确的记录数 但是ModelName query filter by field name value al
  • 何时使用Statement而不是PreparedStatement?

    何时使用语句而不是准备好的语句 我想在没有参数的查询中使用语句 但为什么不使用准备好的语句 对于没有参数的查询 哪一个更快 我想在没有参数的查询中使用语句 但为什么不使用准备好的语句 那还差得远 PreparedStatements 用于返
  • 如何正确关闭资源

    当我清理一些代码时 FindBugs 向我指出了一些使用 Connection CallableStatement 和 ResultSet 对象的 JDBC 代码 这是该代码的一个片段 CallableStatement cStmt get
  • SQL Server 上的 pyodbc - 如何执行插入并取回行 ID?

    我将 pyodbc 与 SQL Server 2000 一起使用 我希望能够插入一行并获取自动递增的行 id 值 有任何想法吗 这是我到目前为止所拥有的 cursor execute insert into products id name
  • 无法在 JDBCPreparedStatement 中使用 LIKE 查询吗?

    查询代码及查询方式 ps conn prepareStatement select instance id from eam measurement where resource id in select RESOURCE ID from
  • 当键是复合键时,metaData.getPrimaryKeys() 返回单行

    我在使用 SQLite 驱动程序的 JDBC 中遇到复合主键问题 The getPrimaryKeys 方法从DatabaseMetaData当我验证该键实际上是由两列组成的复合键时 对象返回单行 有人对如何检索主键的真实列表有任何建议 替
  • 从 Perl 脚本 DBI 关闭 MSSQL 服务器

    我正在写一个 perl 脚本 其中我必须关闭我的 mssql 服务器 做一些操作 然后我必须重新启动它 我知道一种方法是使用 netstat 来停止服务 但我不能使用它 所以我尝试安装 DBI 和 DBD ODBC 模块 我可以通过以下代码
  • Kafka JDBC Sink Connector 对于具有可选字段的模式的消息给出空指针异常

    Kafka JDBC Sink Connector 对于具有可选字段 parentId 的模式的消息给出空指针异常 我错过了什么吗 我正在使用开箱即用的 JSONConverter 和 JDBC Sink Connector 关于 Kafk

随机推荐

  • Rails:用户在使用 :remote => true 销毁不相关的对象后注销

    我正在跟进http railscasts com episodes 250 authentication from scratch http railscasts com episodes 250 authentication from s
  • MATLAB - 音频信号的音高变换

    我的小组正在开发一个简单的 MATLAB 图形用户界面 GUI 该界面旨在记录来自插入或内置于计算机的麦克风的音频并回放信号 到目前为止我们已经完成了 我们的 GUI 还可以加载示例 wav 文件等 并使用 GUI 上的相同 播放 按钮进行
  • Django:values_list()连接多个字段

    我有一个Person模型 我正在使用 django 表单来编辑另一个带有外键的对象Person 人物模型有first name and last name字段 我想运行一种方法来过滤外部引用下拉框的结果 我正在尝试使用values list
  • 我是否可以享受父子关系带来的好处,而无需承担数据存储争用的成本?

    假设 1 Google AppEngine 有实体组的概念 2 实体组中的实体形成一棵树 然而 据我了解 对该树中任何实体的每次 put 都会锁定整个树 而不仅仅是直接父级 一段时间 3 允许用户写ca 每秒5次到树上 4 无法实现非锁定行
  • Flask RESTful POST JSON 失败

    我在通过 curl 从 cmd Windows 7 将 JSON 发布到 Flask RESTful 时遇到问题 这就是我发布的内容 curl exe i H Content Type application json H Accept a
  • Postgres 执行函数(如果存在)

    是否可以编写一个选择语句来执行函数 如果存在 SELECT COALESCE CASE WHEN EXISTS SELECT FROM pg proc WHERE proname func name THEN null ELSE false
  • 在 MySQL 中对同一个表使用子查询

    我有一张桌子叫Staff它有以下字段 idStaff Name Phone Email SupervisorId The SuervisorId is the idStaff该工作人员的主管 我想显示所有员工的列表及其基本信息 姓名 电子邮
  • Elasticsearch 一个月内特定小时的总价值

    我有一个带有字段的elasticsearch服务器 timestamp user and bytes down 除其他外 我想计算用户一个月内的 bytes down 值总计 但仅限于上午 8 点到晚上 8 点之间的时间 我可以通过以下查询
  • 如何自动加载键盘(iOS SDK)?

    非常简单的问题 我得到一个由两个文本字段组成的视图 当视图加载时 我希望键盘自动弹出并聚焦第一个字段 我怎么做 在代码中 在 IB 中 多谢 芥末 In your viewDidAppear 方法调用 yourTextField becom
  • 使用相同表单名称进行 Jquery 验证[重复]

    这个问题在这里已经有答案了 我有一个表格可以做两件事 将名字和电子邮件地址传递给 PHP 如果用户想要提交多于一组或两组数据 则单击即可动态添加一组新的姓名 电子邮件字段 由于我不确切知道每个用户可能选择提交多少组 因此我将数据以数组形式传
  • 给出分割错误的 2D 矢量

    我正在尝试使用向量创建一个二维数组 我编写了以下代码 int main vector lt vector
  • 无法在 Sitecore 项目上设置工作流程和工作流程状态属性

    我目前正在开发一个项目 需要我设置一个非常简单的 Sitecore 工作流程 在修改现有项目以使用新工作流程时 我遇到了一些困难 这就是我所做的 当内容管理员开始编辑项目时 工作流程会创建一个新版本 并在单击提交按钮时发布该项目 我将这些工
  • 如何(策略)以 BDD 风格对属性(获取/设置)进行单元测试?

    我有一个 很多 类具有属性 有些有逻辑 有些则没有 假设我想测试这些属性 我该怎么做呢 最近 我对用于创建单元测试的 BDD 风格很感兴趣 see here http iridescence no post Extending xUnit
  • ASP.NET 身份 cookie 和子域

    我正在尝试跨子域共享我的 ASP NET Identity cookie 目前只是本地 sub1 domain local 子2 域 本地 我有相同的机器密钥在两个站点上 但在 sub1 上创建的 cookie 不会在 sub2 上验证 反
  • 如何让StatusBar透明?

    有谁知道如何使用 React Native 使 Android 状态栏透明 不是半透明的 是透明的 我也在使用反应导航 就像这样使用它 测试使用 react native 0 60 4 和 0 61 5
  • ASP.NET MVC 列表框处理所选项目事件

    我在视图中使用 HTML ListBox 如下所示 这是用 IEnumerable 填充的
  • Objective-C - 测试对象实例被释放/释放

    有某种方法可以测试 Objective C 实例是否被释放 释放 保留计数 0 例如 对象 A 有一个指向对象 B 的引用 指针 但对象 B 可以在内存低级别中释放 我如何测试引用 B 以确保它已被释放 interface A NSObje
  • Base64 长度(以字节为单位)是多少?

    我有一个以 Base64 编码的文件 具有一定的文件长度 如何获取以字节为单位的大小 Example var size canvas toDataURL console log resizeCanvasURL length gt 13278
  • Android 6.0 原生 tgkill 崩溃

    从今天开始我就遇到了本地崩溃 据报道仅适用于Android 6 0 与堆栈跟踪 native pc 0000000000049c34 system lib libc so tgkill 12 native pc 00000000000474
  • 将 ODBC 应用程序与 JDBC 驱动程序结合使用

    我公司使用Vertica http www vertica com 我们有使用 pyodbc 连接到它的 Python 应用程序 我的大部分开发工作都是在 Mac Snow Leopard 上进行 不幸的是 Vertica 尚未发布适用于