Tag: ucanaccess

Java错误 – net.ucanaccess.jdbc.UcanaccessSQLException:格式错误的字符串:’

我使用uCanaccess检索我保存在桌面上的数据库时出错。 我的代码如下: package Week11Package; import java.util.Scanner; import java.sql。*; 公共类dbTest1 { static Scanner input = new Scanner (System.in); static String url; static Connection aConnection; static Statement aStatement; static boolean gotIt = false; public static void main(String[] args) { dbTest1.initialize(); } public static void initialize() { //establish the DB connection. url = “jdbc:odbc:MS Access Database;DBQ=.//Teams.accdb”; try { […]

如何使用UCanAccess改变表

我正在使用UCanAccess JDBC驱动程序(版本3.0.3.1)连接到mdb文件。 我需要将列添加到现有表中。 问题在于声明 ALTER TABLE TEmployee ADD COLUMN NotificationsEnabled BINARY 抛出exception: net.ucanaccess.jdbc.UcanaccessSQLException: UCAExc:::3.xx Feature not supported yet. 似乎没有更新版本的UCanAccess。 在这种情况下我该怎么办? 我不想使用ODBC驱动程序有很多原因(这里描述 – 在没有ODBC的情况下从Java操作Access数据库 ) 我看到的唯一解决方案是创建表的副本(例如TEmployeeBackup)来保存数据,然后使用新字段删除并重新创建原始表,然后将数据从TEmployeeBackup移回TEmployee。 但这个解决方案对我来说似乎很糟糕。

无法连接到共享驱动器上的数据库 – UCanAccess

我已经设置我的应用程序通过UCanAccess连接到Access数据库但是我无法连接到位于共享驱动器上的数据库。 请参阅下面的示例。 String databasePath = “jdbc:ucanaccess://C:/Desktop/MyDB.accdb” \\\\ this works String databasePath = “jdbc:ucanaccess://servername/etc/MyDB.accdb” \\\\ does not work and throws no suitable driver found exception 有趣的是,当我将共享驱动器上的文件夹映射到某个字母时,例如P: – 它成功连接。 String databasePath = “jdbc:ucanaccess://P:/servername/etc/MyDB.accdb” \\\\ this works 有可能绕过这个吗? 我的用户对该文件夹具有r / w权限,但我不想在每台计算机上映射驱动器。 谢谢

从JAR运行时“找不到合适的驱动程序”

我开发了一个小游戏,其中用户输入的文本需要在MS Access数据库中发布。 这一切在NetBeans中都可以正常工作,但每当我从JAR文件访问它时(最终我需要将其传递给我的客户端),它不会向数据库发布任何内容。 实际上它返回以下错误: java.sql.SQLException: No suitable driver found for jdbc:ucanaccess://C:\Users\Paul\Desktop\Spelli\RispostiDB.mdb 这是相关代码: public void postAnsDB() { String tableName = “Form”+studentGroup +”_”+studentSurname+”_”+studentName+””; answerModifier(); try{ String strurl=”jdbc:ucanaccess://C:\\Users\\Paul\\Desktop\\Spelli\\RispostiDB.mdb”; Connection conn=DriverManager.getConnection(strurl, “”, “”); Statement stmt=conn.createStatement(); //Post Student Details to DB String post = “INSERT INTO “+tableName+”(ID, responses, Correct_Response, Valid_Invalid, Marks) VALUES (‘”+ansID+”‘, ‘”+answer+”‘, ‘”+correct+”‘, ‘”+valid+”‘, ‘”+marks+”‘);”; stmt.executeUpdate(post); } catch(Exception […]

警告:在第1774页查找使用情况图,但在UCanAccess中页面类型为1

尝试运行与Access 2010接口的程序时,会抛出错误 WARNING:Looking for usage map at page 1774, but page type is 1 然后继续抛出有关user lacks privilege访问我正在尝试使用的表的user lacks privilege错误。 使用Access 2013时,此程序似乎完全正常,当我第一次尝试更新语句时,它在Access 2010上运行了一次。 现在它根本不起作用。 我似乎无法在网上找到任何对此错误的引用,所以我希望其他人之前遇到过它。 它会在这行代码上引发错误,在与Access 2013连接时它不会执行此操作: ResultSet rSet = stmt.executeQuery(“Select * FROM Players”); 整个方法是: public int addPlayer(String name, int x) throws SQLException //drafts a person to team x (ownerID) , ClassNotFoundException { //Database db = […]

如何更改SortOrder以避免“不支持整理排序顺序”错误?

我一直在使用来自第三方客户端的.mdb数据库的程序。 在我尝试更新数据库中的元素之前,一切都很好。 sortOrder字段不正确。 我试图通过MS Access将其更改为一般,并且没有运气。 我执行更新查询时收到的消息是: java.lang.IllegalArgumentException: Given index Index@150ab4ed[ name: (EXART) PrimaryKey number: 2 isPrimaryKey: true isForeignKey: false data: IndexData@3c435123[ dataNumber: 2 pageNumber: 456 isBackingPrimaryKey: true isUnique: true ignoreNulls: false columns: [ ReadOnlyColumnDescriptor@50fe837a[ column: Column@636e8cc[ name: (EXART) ARCodArt type: 0xa (TEXT) number: 0 length: 30 variableLength: true compressedUnicode: true textSortOrder: SortOrder[3082(0)] ] flags: 1 […]

UCanAccess初始化程序错误(无IDE编译/运行)

我一直在尝试创建一个新项目来使用UCanAccess来读取MS Access文件。 我一直在关注来自@Gord Thompson的信息和ganub中UCanAccess的示例文件。 排除我使用不同名称的事实是一样的。 我不使用任何GUI IDE。 我只是从命令行编译,基本上,我编写了一个执行命令行编译的Java程序。 参考文献: 在没有ODBC的情况下从Java操作Access数据库 https://github.com/andrew-nguyen/ucanaccess/blob/master/example/net/ucanaccess/example/Example.java 我的代码示例如下: String path = new java.io.File(PATH).getAbsolutePath(); db = “jdbc:ucanaccess://” + path; Class.forName(“net.ucanaccess.jdbc.UcanaccessDriver”); Connection conn = DriverManager.getConnection( db ); Statement s = conn.createStatement(); 我的错误信息是: Exception in thread “main” java.lang.ExceptionInInitializerError at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:264) at GreatBeyond.(GreatBeyond.java:36) at GreatBeyond.main(GreatBeyond.java:66) Caused by: java.lang.RuntimeException: org.hsqldb.jdbc.JDBCDriver at net.ucanaccess.jdbc.UcanaccessDriver.(UcanaccessDriver.java:54) … […]