Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何创建数据并将其插入具有特殊名称的表中?_Java_Ms Access_Jackcess - Fatal编程技术网

Java 如何创建数据并将其插入具有特殊名称的表中?

Java 如何创建数据并将其插入具有特殊名称的表中?,java,ms-access,jackcess,Java,Ms Access,Jackcess,我正在尝试使用jackcess库创建一个数据库并将数据导入其中。我发现的问题是,如果我创建一个名为type的表,它是jackcess的保留字,那么我无法使用ImportBuilder将数据导入该表。将生成一个前缀为x的新表。新表将命名为xtype 我还尝试使用其他名称创建表,导入数据并重命名为保留名称。但是我找不到任何方法来重命名表 该表必须命名为type 我该怎么办?Jackcess似乎不愿意将文本文件直接导入名为type的新表中,但下面的代码似乎可以做到这一点: //打开现有数据库 Data

我正在尝试使用jackcess库创建一个数据库并将数据导入其中。我发现的问题是,如果我创建一个名为type的表,它是jackcess的保留字,那么我无法使用ImportBuilder将数据导入该表。将生成一个前缀为x的新表。新表将命名为xtype

我还尝试使用其他名称创建表,导入数据并重命名为保留名称。但是我找不到任何方法来重命名表

该表必须命名为type


我该怎么办?

Jackcess似乎不愿意将文本文件直接导入名为type的新表中,但下面的代码似乎可以做到这一点:

//打开现有数据库 Database db=DatabaseBuilder.opennew文件 C:/Users/Gord/Desktop/foo.accdb; 字符串TENTABLENAME=临时名称FORTABLE; //使用临时名称将CSV文件导入新表 ImportUtil.Builder ib=新的ImportUtil.Builderdb; ib.setTableNameTestableName; ib.importfile新文件c:/Users/Gord/Desktop/foo.csv; //重命名新表 Table mso=db.getSystemTableMSysObjects; 行r=CursorBuilder.findRowmso, Collections.singletonMapName,testablename; r、 putName,type;//新名称是type mso.updateRowr; db.close;
如果是保留名称,则无法命名表类型。就这么简单。有趣的是我可以,但我不能将数据导入到它中,这是完美的。我试图为table对象找到一些setName方法,但没有意识到可以这样重命名表。谢谢!