尝试执行select for update语句然后执行插入或更新时,我遇到了一个奇怪的问题.我得到一个ORA-01461例外.只有在使用最新的ojdbc驱动程序(12.1.0.2)时才会发生这种情况,而在较旧的驱动程序中它可以正常工作(12.1.0.1).
更具体地说,最新的驱动程序似乎在主键字符长度(限制为32个字符)中有某种限制,尽管相应的列声明超过32个字符.复制问题的示例代码如下:
CREATE TABLE "TEST_TABLE" (
"TEST_ID" VARCHAR2(40 CHAR) NOT NULL ENABLE,
"TEST_COMMENT" VARCHAR2(200 CHAR),
CONSTRAINT "TEST_TABLE_PK" PRIMARY KEY ("TEST_ID")
);
Run Code Online (Sandbox Code Playgroud)
还有一些java:
public class DemoUpdatableResultSet {
private static final String DB_URL = "jdbc:oracle:thin:@xxxx:1521/xxxxx";
private static final String DB_USER = "xxx";
private static final String DB_PASS = "xxx";
public static Connection getConnection() throws Exception {
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection conn = DriverManager.getConnection(DB_URL, DB_USER, DB_PASS);
return conn;
}
public static void main(String[] args) {
final String …
Run Code Online (Sandbox Code Playgroud) 我的应用程序在启动时崩溃了所有Android Marshmallow arm64设备.用户以前在同一设备上使用Lollipop上的应用程序,但随后在设备更新为Marshmallow后开始报告这些崩溃.32位设备不受影响.崩溃报告看起来像这样:
ABI: 'arm64'
pid: 3531, tid: 3531, name: ompany.myapp >>> com.mycompany.myapp <<<
signal 4 (SIGILL), code 1 (ILL_ILLOPC), fault addr 0x7f796d9370
x0 0000000013087000 x1 0000007f8815da00 x2 0000000000000002 x3 0000000000000004
x4 b42e90dfe44ab496 x5 b42e90dfe44ab496 x6 0000000000000000 x7 00000000019b7af0
x8 0000000013087000 x9 0000007f87713000 x10 0000000000000601 x11 000000001308700c
x12 0000000000002000 x13 0000000000002000 x14 000000006fb18428 x15 00000000013cd010
x16 0000000000000000 x17 0000000000002000 x18 0000005594f27e90 x19 0000000000000003
x20 0000000013087000 x21 0000007f75e00098 x22 00000000130d6e20 x23 0000000000000601
x24 0000000000000000 x25 0000000000000001 x26 0000000000000000 x27 0000000000000000
x28 …
Run Code Online (Sandbox Code Playgroud) 我正在编写一个 CKEditor 插件来实现以下目标:默认情况下,<p>
和<ul>
标签引入一个不为 0 的默认边距。我想覆盖此行为并让用户在按下工具栏上的按钮时设置所选内容的边距段落和/或列表为 0。
翻译成下面的html:
到目前为止我编写的插件代码(plugin.js)是:
( function() {
CKEDITOR.plugins.add( 'nomargin', {
icons: 'nomargin',
init: function( editor ) {
editor.addCommand( 'nomargin', {
exec: function( editor ) {
var style = new CKEDITOR.style( editor.config.nomargin_style );
editor.focus();
editor.fire( 'saveSnapshot' );
editor['applyStyle']( style );
editor.fire( 'saveSnapshot' );
}
} );
editor.ui.addButton( 'NoMargin', {
label: 'No Margin',
command: 'nomargin'
});
}
});
})();
CKEDITOR.config.nomargin_style = {
element: ['p', 'ul'],
styles: { 'margin': '0'}
};
Run Code Online (Sandbox Code Playgroud)
我的问题是,只要我一次选择每个段落或无序列表,它就可以工作。如果我同时选择段落和列表,则样式将不适用。即使我仅选择相同标签的元素(例如 2 个段落),样式也不会应用。我必须一次选择一个,按插件按钮,然后选择下一段或列表,再次按插件按钮等。这可能会令人困惑,因为两个元素的边距重叠,因此为了获得所需的结果,首先选择顶部段落按按钮,(还没有结果),然后选择列表并按按钮实现以下效果: …
这是我的情况。我有一个HTML / CSS(CSS装有打印介质的性能如@page
,@bottom-center
等)的资源,其通过转换为PDFflying-saucer
就好了。
现在,我还需要将相同的资源转换为 msword(doc 或 docx)格式。
我曾尝试使用docx4j-ImportXHTML
和documents4j
库,但不幸的是我无法获得所需的结果,尤其是使用样式表的打印媒体属性时。是否有任何需要进行的特殊设置或库不支持它?理想情况下,我希望 pdf 和 docx 输出看起来几乎相同。
非常感谢
示例资源:
pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.pleft</groupId>
<artifactId>html2word</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>org.docx4j</groupId>
<artifactId>docx4j-ImportXHTML</artifactId>
<version>3.3.1</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.7</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.7</version>
</dependency>
<dependency>
<groupId>org.xhtmlrenderer</groupId>
<artifactId>flying-saucer-pdf</artifactId>
<version>9.0.6</version>
</dependency>
</dependencies>
</project>
Run Code Online (Sandbox Code Playgroud)
html2word.java
import com.lowagie.text.DocumentException;
import org.docx4j.convert.in.xhtml.XHTMLImporterImpl;
import org.docx4j.openpackaging.exceptions.Docx4JException;
import org.docx4j.openpackaging.packages.WordprocessingMLPackage;
import org.xhtmlrenderer.pdf.ITextRenderer;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
public class Html2Word …
Run Code Online (Sandbox Code Playgroud) 我有这个枚举:
public class RemoteUnitType implements Serializable {
public enum deviceVersion {
ANDROID_AT1,
ANDROID_AT1_PRO,
ANDROID_AT5,
ANDROID_AK1
}
Run Code Online (Sandbox Code Playgroud)
我想在Enum上创建一个开关,就像这样
switch (remoteUnit.getDeviceVersion()) {
case RemoteUnitType.deviceVersion.ANDROID_AK1 :
break;
}
Run Code Online (Sandbox Code Playgroud)
但我得到了这个错误:
The qualified case label RemoteUnitType.deviceVersion.ANDROID_AK1 must be replaced with the unqualified enum constant
Run Code Online (Sandbox Code Playgroud)