我有以下Java代码。该代码的目的是建立与远程MySQL数据库ProductionDb(在我的/etc/odbc.ini文件中定义的数据源)的连接。

import java.sql.*;

import java.util.*;

import java.io.*;

public class Test {

public static void main(String[] args) {

try {

Connection conn = null;

PreparedStatement s = null;

String driver = "sun.jdbc.odbc.JdbcOdbcDriver";

Class.forName(driver).newInstance();

conn = DriverManager.getConnection("jdbc:odbc:ProductionDb");

} catch (Exception ex) {

System.out.println(ex.getMessage());

}

}

}

/etc/odbc.ini文件是:

$ cat /etc/odbc.ini

[ProductionDb]

Driver = /usr/lib/odbc/libmyodbc.so

Description = Production Database

Server = [ hidden ]

Port = 3306

User = [ hidden ]

Password = [ hidden ]

Database = ProductionDb

顺便说一句-我正在使用Java 7和Ubuntu:

$java -version

java version "1.7.0_09"

Java(TM) SE Runtime Environment (build 1.7.0_09-b05)

Java HotSpot(TM) 64-Bit Server VM (build 23.5-b02, mixed mode)

$lsb_release -a

No LSB modules are available.

Distributor ID: Ubuntu

Description: Ubuntu 11.04

Release: 11.04

Codename: natty

当我尝试运行程序时,出现以下错误:

$java Test

java: symbol lookup error: /usr/lib/jvm/java-7-oracle/jre/lib/amd64/libJdbcOdbc.so: undefined symbol: SQLAllocEnv

有谁知道为什么我会收到此错误?这是怎么了

PS顺便说一句,我确实运行了sudo apt-get install unixodbc-dev,sudo apt-get install

libmyodbc和sudo apt-get install libmysql-java :-)

更新:

我还尝试了以下答复之一(由Benny

Hill提出)提出的想法:使用/etc/odbcinst.ini以及/etc/odbc.ini。仍然不起作用,并且我得到了相同的错误消息。

$ cat /etc/odbc.ini

[ProductionDb]

Driver = MySQL Driver

Description = Production Database

Server = [ hidden ]

Port = 3306

User = [ hidden ]

Password = [ hidden ]

Database = ProductionDb

$ cat /etc/odbcinst.ini

[MySQL Driver]

Driver = /usr/lib/odbc/libmyodbc.so

补充说明:

我可以通过R编程语言成功使用此ODBC数据源。

> library(odbc)

> con = odbcConnect("ProductionDb")

> con

RODBC Connection 1

Details:

case=nochange

DSN=ProductionDb

符号未定义Java_Java ODBC数据源(未定义符号:SQLAllocEnv)相关推荐

  1. 笔记-- vs2008 ,右键转到定义,弹出“未定义符号”

    具体情况为:新建一个项目,将原来某工程的.cpp和.h文件拷贝过来,还有一个工程,都加入该项目:编译,通过:但右键转到定义,弹出"未定义符号".与这一现象同时出现的,是类视图里并没 ...

  2. python函数打上去说未定义_Python:名称未定义错误,即使函数被明确定义为b

    我是python新手,在函数定义方面有一个奇怪的问题.我已经检查了论坛,并确保在调用之前定义了我的函数,但是这并没有帮助解决问题.当我试图在这个特定的方法中按字面方式调用函数时,总是会遇到一个未定义名 ...

  3. java定义set_java – “方法流()未定义类型Set”

    我正在尝试运行我在 java基本路径课程中找到的示例 java程序.我想使用eclipse逐步完成它,以便更好地了解正在发生的事情. Person类很好没有错误但是MRTest类最后有一个错误,对于调 ...

  4. c语言中 加法符号如何定义,【 c语言中无符号和有符号的加法运算】【深入理解】--【sky原创】...

    第一题 #include int main() { unsigned int a=6; int b=-20; printf("%d\n",a+b); (a+b)>6? put ...

  5. VS2005右键点击转到定义后出现“未定义符号”的提示及其解决

    1.有可能是VA未安装正确,但是我遇到的情况是我的VA安装正确的. 2.我的解决办法:删掉工程的.ncb文件后重新编译即可:以前也遇到过断点打不上去的事情,也是删掉.ncb后重新编译就可以了. 附带一 ...

  6. JAVA怎么查找错误,如何调试错误“符号查找错误:未定义符号”

    我创建了一个app(api_tests),它使用链接到oracle occi库(libocci.so.12.1)的库(libstorage.so)并编译它 . 当我运行这个应用程序时,我收到一个错误: ...

  7. python中name没有定义_Python;NameError:未定义名称“handsum”

    我正在编写一个基本的21点游戏,我挑战自己尽可能多地编写函数,代码如下所示:funcA() funcB() funcC() 与之相反的是: ^{pr2}$ 以下是我的代码中存在的问题:def play ...

  8. (OS X) OpenCV架构x86_64的未定义符号:错误(OpenCV Undefined symbols for architecture x86_64: error)...

    原地址: http://www.it1352.com/474798.html 错误提示如下: Undefined symbols for architecture x86_64:"cv::_ ...

  9. 构造函数c语言引用,c – 定义的构造函数的“未定义引用”

    我有一个构造函数,其签名是这样的: cpuInput (const std::string &label); 实际的构造函数使用引用超构造函数的初始化列表,所以它看起来像这样: cpuInpu ...

最新文章

  1. Android View与GroupView原理以及其子类描述
  2. python id()函数(返回对象在内存地址中的唯一标识)
  3. jquery关于多个显示隐藏
  4. 实现klib_使用klib加速数据清理和预处理
  5. 携程发布2020年财报:四季度营业利润率10% 疫情以来连续两季度盈利
  6. QT5开发及实例学习之九基本对话框(二)
  7. 对于C/S应用的小结【原创】
  8. mysql in 子查询 效率慢 优化(转)
  9. paip.提升性能---- 网站并发数的总结.txt
  10. 深度学习相关软件安装整理
  11. 矩阵的乘法转置c语言函数,C语言 矩阵的转置及矩阵的乘法
  12. 计算机桌面图标被挡怎么办,电脑桌面图标偏左,被挡住了大半,就连网页窗口也...
  13. Android图片处理(Matrix,ColorMatrix,深入讲解Android
  14. 网工笔记(三):IP Multicast组播技术
  15. 罗技 连点 脚本_轻松办公 如入无人之静 罗技MK295静音键鼠套装全球首发震撼上市...
  16. 展讯6500平台架构
  17. 设计模式 - 装饰器模式
  18. zhs16gbk java 转utf8_ORCALE字符集AL32UTF8和ZHS16GBK的互相转换
  19. 伯克利分校研究生计算机排名及申请,加州大学伯克利分校排名及研究生申请条件...
  20. A4988/DRV8825步进电机驱动拓展板(HW-434)资料

热门文章

  1. php中finally不能用,php-什么时候以及为什么`finally`有用?
  2. oracle cpu 利用率过高 kswapd0_服务器带宽监测与利用率过高的解决办法
  3. 版本控制系统 之一 概念、分类、常见版本控制系统(CVS、SVN、BitKeeper、Git 等)
  4. 设计模式的理解: 代理模式(Proxy)
  5. usockets / 编译 usockets 过程说明
  6. Python如何发布程序
  7. python 英语词频统计软件_Python数据挖掘——文本分析
  8. 9年当上架构师,我的很多想法变了
  9. php中angular,Angular是什么
  10. Navicat for MySQL 连接 Mysql 8.0.11 出现1251- Client does not support authentication protocol 错误