同志们,我需要帮助!我无法使用JTDS驱动程序版本1.3.1执行SQL Server脚本。详情如下。
我试图删除一些SQL脚本行,但没有任何帮助。
SQL脚本:
USE [SomeScheme]
GO
DECLARE @ID int
, @Guid nvarchar(50)
, @Name nvarchar(250)
, @Caption nvarchar(250)
, @Description nvarchar(max)
SET @Description = NULL;
SET @Guid = 'EAID_4076F221_3910_4480_B49A_09621E214249';
SET @Name = 'datetime';
SET @Caption = 'datetime';
IF EXISTS(SELECT [Guid] FROM rdf.SimplePropertyTypes WHERE [Guid] = @Guid)
BEGIN
SET @ID = (SELECT ID FROM rdf.SimplePropertyTypes WHERE [Guid]=@Guid)
UPDATE rdf.SimplePropertyTypes
SET Name = @Name
, Caption = @Caption
, [Description] = @Description
WHERE [Guid]=@Guid
END
ELSE
BEGIN
SET @ID = ISNULL((SELECT MAX(ID) FROM rdf.SimplePropertyTypes),0) + 1000
INSERT INTO rdf.SimplePropertyTypes(ID, [Guid], Name, Caption, [Description]) VALUES
(@ID, @Guid, @Name, @Caption, @Description);
END
SET @Description = NULL
Java代码:
try (final Connection connection = sourceDataSource.getConnection();
final CallableStatement callableStatement = connection.prepareCall(sql)) {
callableStatement.executeUpdate();
}
异常堆栈跟踪:
Caused by: java.sql.SQLException: Invalid JDBC escape syntax at line position 68 '=' character expected.
at net.sourceforge.jtds.jdbc.SQLParser.mustbe(SQLParser.java:412)
at net.sourceforge.jtds.jdbc.SQLParser.callEscape(SQLParser.java:554)
at net.sourceforge.jtds.jdbc.SQLParser.escape(SQLParser.java:1009)
at net.sourceforge.jtds.jdbc.SQLParser.parse(SQLParser.java:1178)
at net.sourceforge.jtds.jdbc.SQLParser.parse(SQLParser.java:165)
at net.sourceforge.jtds.jdbc.JtdsPreparedStatement.<init>(JtdsPreparedStatement.java:111)
at net.sourceforge.jtds.jdbc.JtdsCallableStatement.<init>(JtdsCallableStatement.java:70)
at net.sourceforge.jtds.jdbc.JtdsConnection.prepareCall(JtdsConnection.java:2426)
at net.sourceforge.jtds.jdbc.JtdsConnection.prepareCall(JtdsConnection.java:2412)
at org.apache.commons.dbcp.DelegatingConnection.prepareCall(DelegatingConnection.java:308)
at org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.prepareCall(PoolingDataSource.java:303)
驱动程序:JTDS 1.3.1
需要帮助!
GO在precedStatements中是不允许的,因此答案是:
try (final Connection connection = sourceDataSource.getConnection();
final PreparedStatement preparedStatement = connection.prepareStatement(sql.replaceAll(" GO\n", " "))) {
preparedStatement.executeUpdate();
}
我在尝试编译 eXo 平台时遇到麻烦。 错误消息是: < code >原因:java.io.IOException:无法运行程序“/exo/platform-public-distributions-develop/PLF-community-Tomcat-standalone/target/platform-community-5.0 . x-SNAPSHOT/platform-communit
我已经创建了一个使用命令行执行cucumber测试的小项目,当我在maven surefire插件中指定我的runner类路径时,我可以使用命令行执行cucumber测试(这里所有的场景都被选中),但当我评论并尝试使用标记选项运行时,我成功地获得了构建,但没有执行任何操作。命令使用mvn测试-Dcucumber。选项=“--tags@Flipkart” 回答:对我来说-Dcucumber。opti
我试图使用ansible playbook安装redislabs和jmter,但无法使用playbook执行脚本。请找到我的剧本和错误以及。 注意:以下是jmeter的错误,redislabs的错误也是相同的。就像没有这样的文件或目录 > 主机:本地主机 用户:ansibleadm 文件:path=/home/ansibleadm/jmeter state=directory mode=0700
我试图将selenium test之一迁移到空手道,同时这样做我正在使用在留档中定义的script()方法,该方法在空手道中用于评估给定字符串为浏览器内的JavaScript,但我得到了这个 还分享我的功能文件,其中得到失败: 甚至我也试着在脚本中调用下面的语句,但仍然得到相同的错误 我正在使用gatling版本
我有SunOs 5.10 unix服务器,在那里我编写了一个脚本来执行java文件,如下所示 在这个脚本中,有很多代码,其中包括日志文件,以及在导出JAVA HOME之前添加的其他二进制文件类路径。但当我执行时,我得到以下错误 我更改了很多java版本,但都出现了相同的错误
我想在macos上使用apache2从PHP文件执行Python脚本。我能够执行简单的python脚本,如: 从PHP: 巨蟒 输出是: 但当我尝试导入以下包时: 我得到: 我的问题是,有人知道: 1–我如何使这些(以及任何其他)软件包工作? 2–shell_exec当前正在执行python2。如何添加Python 3?(如果我编写python3而不是python将无法工作)