Tag: jdbc

通过JDBC访问Access(使用ODBC?)

我正在寻找一种在Java App中打开Access MDB文件的方法(使用JDBC)。 一个快速的Google搜索建议我需要JDBC-ODBC Bridge … 这是否意味着我需要配置我想运行应用程序的每个系统,以便为我想要打开的MDB提供ODBC DSN? 还有一个问题(因为我之前从未使用过ODBC):通信是通过某种套接字(客户端/服务器风格),还是通过方法/函数调用(比如嵌入式Derby db)进行的?

向/从SQL数据库(例如H2)插入和获取java.time.LocalDate对象

如何通过JDBC将诸如LocalDate类的java.time类型插入到SQL数据库(如H2数据库引擎)中 ? 使用PreparedStatement::setDate和ResultSet::getDate的旧方法适用于旧的java.sql.Date类型。 我想避免使用这些麻烦的旧日期时间类。 通过JDBC驱动程序发送java.time类型的现代方法是什么?

复制Java ResultSet

我有一个需要更新的java.sql.ResultSet对象。 但是,结果集不可更新。 不幸的是,这是我正在使用的特定框架的约束。 我在这里想要实现的是从数据库中获取数据,然后操纵少量数据,最后将数据写入CSV文件。 在这个阶段,我认为我最好的选择是创建一个新的结果集对象,并将原始结果集的内容复制到新的结果集中,并按照我的方式操作数据。 但是,我在谷歌上追求高低,似乎无法确定如何做到这一点,或者它是否甚至可能。 我是Java的新手,所以任何帮助都会感激不尽。

对具有重音字符的JDBC-ODBC Bridge查询失败

我正在通过JDBC-ODBC Bridge向Java发送查询到Access数据库,如下所示: “SELECT * FROM localities WHERE locName='” + cityName + “‘” 当cityName是没有重音字符的普通字符串时,结果集是正确的。 但是当cityName恰好是LEÓN , SAHAGÚN类的东西,其中带有重音字符,那么我就没有结果。 在这些情况下,查询似乎失败了。 在MS Access中运行时相同的查询工作正常,我也尝试使用Ms Data Acces SKD并且这些查询完美运行。 它们仅在通过JDBC-ODBC Bridge时失败。 据我所知,Java使用UTF-8作为字符串,Access也是如此。 他们都使用Unicode。 有谁知道这个问题的任何解决方案?

JDBC SQLServerException:“此驱动程序未配置为集成身份validation。”

我的标准免责声明:我在大约10年内没有使用Java,所以我很可能在这里做了一些基本错误。 我正在为SmartFoxServer (SFS)编写一个“服务器端扩展”。 在我的登录脚本中,我需要连接到MS SQL Server,我试图使用JDBC进行连接。 我在调试环境中测试了JDBC代码,它工作正常。 但 当我将服务器端扩展放在SFS“extensions”文件夹中时(根据规范),我得到一个com.microsoft.sqlserver.jdbc.SQLServerException : “此驱动程序未配置为集成身份validation。” 我用Google搜索了这个错误,发现这通常是因为文件sqljdbc_auth.dll不在系统路径中; 我已将此文件复制到系统路径中的文件夹中,但仍无效! 还有其他建议吗?

绑定参数为PostgreSQL数组

我正在尝试绑定一个准备好的语句参数,这是一个“多维”PostgreSQL数组。 这是一个数组示例(列类型为numeric[] ): {{1,10},{2,20}} 如何使用预准备语句绑定类似的值? 我试过了: stmt.setObject(1, “{{1,10},{2,20}}”, Types.ARRAY); 它不起作用: 无法将java.lang.String的实例强制转换为Types.ARRAY类型 有任何想法吗?

在JDBC Sqlite中创建数据库

我正在使用http://code.google.com/p/sqlite-jdbc/wiki/Introduction中的SQLite驱动程序。上面文档中显示的示例显示了如何连接现有数据库。 在我的应用程序中,我需要创建一个SQLite数据库。 怎么做? 创建扩展名为.db的文件是否足够? 还有一个名为createFile()的函数。 如果是这样如何使用它? 我用Google搜索,没有人给出明确的答案。

从无状态Bean中获取JDBC Connection对象

在无状态会话Bean中注入了EntityManager ,但我希望获得一个Connection对象以调用DB过程。 这有什么解决方案吗?

在同一语句中获取插入的id

有没有办法在一个表中插入一行并获得新生成的ID,只在一个语句中? 我想使用JDBC,ID将由序列生成,或者是自动增量字段。 谢谢你的帮助。 约翰波兰克雷

传递ResultSet是否可以?

在我的情况下,我正在查询数据库以获取特定的返回(在这种情况下,基于用户名的注册信息)。 //Build SQL String and Query Database. if(formValid){ try { SQL = “SELECT * FROM users WHERE username=? AND email=?”; Collections.addAll(fields, username, email); results = services.DataService.getData(SQL, fields); if (!results.next()){ errMessages.add(“User account not found.”); } else { user = new User(); user.fillUser(results); //Is it ok to pass ResultSet Around? } } catch (SQLException e) { e.printStackTrace(); […]