我有一个非常基本的UPDATE SQL-
UPDATE HOLD_TABLE Q SET Q.TITLE = 'TEST' WHERE Q.ID = 101;
Run Code Online (Sandbox Code Playgroud)
该查询中运行良好Oracle,Derby,MySQL-但它在SQL Server 2008中失败
与以下错误:
"Msg 102,Level 15,State 1,Line 1'Q'附近的语法不正确."
如果我从SQL中删除所有出现的别名"Q",那么它可以正常工作.
但我需要使用别名.
我的操作系统是Windows Vista.我需要一个".bat"文件,我需要检查用户是否输入任何命令行参数.如果那么,如果参数等于-b那么我会做一些事情,否则我将标记"无效输入".如果用户没有输入任何命令行参数,那么我会做一些事情.我创建了以下.bat文件.它适用于-b和不等于-b案例 - 但是当用户没有传递任何命令行参数时它会失败.
我总是得到错误:
GOTO was unexpected at this time.
Run Code Online (Sandbox Code Playgroud)
谁能告诉我这里我做错了什么?
ECHO OFF
CLS
ECHO.
IF [%1]==[/?] GOTO BLANK
IF %1=="-b" GOTO SPECIFIC
IF NOT %1=="-b" GOTO UNKNOWN
:SPECIFIC
ECHO SPECIFIC
GOTO DONE
:BLANK
ECHO No Parameter
GOTO DONE
:UNKNOWN
ECHO Unknown Option
GOTO DONE
:DONE
ECHO Done!
Run Code Online (Sandbox Code Playgroud) 我正在使用JBoss 6.0.
我已经在web-context下部署了我的Web应用程序:myApp.ear:" / test ".所以在browser-url中如果输入" http:// localhost:8080/test / ",我会得到我的登录页面(myLogin.jsp).
由于我的WAR存在于EAR文件中,因此我使用web模块内部的context-root元素在application.xml文件中指定了上下文根- 即
<module>
<web>
<web-uri>myWeb.war</web-uri>
<context-root>/test</context-root>
</web>
</module>
Run Code Online (Sandbox Code Playgroud)
我的问题是如何从"根上下文" 自动将用户引导到我的网络应用程序?
我的意思是如果用户键入" http:// localhost:8080 / ",我希望加载我的web应用程序的登录页面(而不是JBoss的默认ROOT.war的index.html页面).
我从{JBOSS}\server\default\deploy\ROOT.war中删除了现有的index.html,并在那里创建了一个login.jsp.现在我可以看到当我键入http:// localhost:8080 /时会调用"login.jsp" .但我无法将用户请求重定向到我的网络应用程序的登录页面.
在那个login.jsp中,我尝试过:
<jsp:forward page="/test" />,但是我收到错误:"HTTP状态404 - /test".
如果我调用,<jsp:forward page="/test/myLogin.jsp" />我仍然得到相同的404错误.
任何人都可以建议如何从root-context实现自动直接到我的网络应用程序?
我有一个J2EE应用程序,部署在Windows(Vista 32位)平台的JBoss6应用服务器中.我的数据库是" PostgreSQL 9.0.4 ",我使用的是JDBC驱动程序:"postgresql-9.0-801.jdbc4.jar".
在我的ds.xml文件中,我定义了max-pool-size = 75和min-pool-size = 40.我正在使用JPA/Hibernate以及使用javax.sql.DataSource.
在Windows"任务管理器"中,我发现当PostgreSQL服务器启动时,它会创建6个"postgres.exe"进程.现在,当我在JBoss中部署/启动J2EE应用程序时,我发现总共有66个 "postgres.exe"进程.因此,这意味着由于我的应用程序启动而产生(或启动)了另外60个postgres进程.
如果我将max-pool-size更改为40,那么我注意到我总共有46个postgres.exe进程.在这两种情况下,没有.当我停止我的J2EE应用程序时,postgres进程的结果降到了6.
所以我的问题,这是正常的吗?由于'连接池'(由Hibernate使用)产生/启动了那些额外的进程吗?
我正在使用Hibernate 3.6.0和JBoss 6.0-Final版本,我的数据库是MS-SQL Server 2008.我必须从LDAP服务器获取员工数据并将其插入数据库 - LDAP条目的数量为180,000或更多.我正在使用bean托管事务,因为使用CMT我的事务永远不会被提交(因为插入的高卷).
逻辑是:在while循环中,我继续使用JPA(Hibernate)在数据库中获取和创建条目.因此,作为无状态EJB api的一部分,我有一系列的fetch-create活动.我正在调用entityManager.flush()/ clear()并在处理每20条记录后提交事务.
在插入40,000条记录后,我在JBoss Serevr.log中收到了WARN消息.不确定它是否真的是警告或错误?
虽然我收到此错误,但服务器仍然运行并继续在DB中插入新记录.
任何人都可以建议我做错了吗?或是什么原因导致此错误?
有没有办法增加EJB超时?
16:52:49,690 WARN [com.arjuna.ats.arjuna] ARJUNA-12117 TransactionReaper::check timeout for TX 0:ffff105966b8:126a:4db9fc0a:a4 in state RUN
16:52:49,691 WARN [com.arjuna.ats.arjuna] ARJUNA-12121 TransactionReaper::doCancellations worker Thread[Transaction Reaper Worker 0,5,jboss] successfully canceled TX 0:ffff105966b8:126a:4db9fc0a:a4
Run Code Online (Sandbox Code Playgroud)
任何帮助都感激不尽.
我使用Spring安全性来验证用户登录.
用户凭据存储在数据库中.
这是我的" appContext-security.xml "文件中的相关部分.
此代码有效 - 但我的问题是我使用原始SQL查询 " user-by-username-query "和" authority-by-username-query "标签.因此,如果我必须支持多个数据库并且如果Sql语法各不相同,那我就有问题了.
那么我可以将这些查询放在某种形式的Java类中吗?这样我可以轻松地更改该java类中的SQL语法并使这些SQL 数据库依赖?
<authentication-manager alias="authManager">
<authentication-provider>
<password-encoder hash="md5"/>
<jdbc-user-service data-source-ref="jndiDataSource"
users-by-username-query="select name, password, enabled from USER where user_status<>0 and name=?"
authorities-by-username-query="select m.name,p.name from USER m, ROLE p where m.name=? and m.application_role=p.id"/>
</authentication-provider>
</authentication-manager>
<beans:bean id="jndiDataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<beans:property name="jndiName" value="java:/appManaged"/>
</beans:bean>
Run Code Online (Sandbox Code Playgroud)
任何帮助都感激不尽.
我目前正在使用带有JDBC驱动程序的" PostgreSQL 9.0.4 "数据库:" postgresql-9.0-801.jdbc4.jar ".
我有以下JDBC SQL使用" SELECT ... FOR UPDATE OF ... "子句检索列值(long)并通过在同一事务中递增来更新值.
我需要返回long值,因此我需要使用SELECT Sql.
final PreparedStatement preparedStatement = _connection.prepareStatement(
"select value from sequence where table_name='JOB' for update of value",
ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_UPDATABLE);
long ret;
try {
final ResultSet resultSet = preparedStatement.executeQuery();
resultSet.next();
ret = resultSet.getLong(1);
resultSet.updateLong(1, ret + 1);
resultSet.updateRow();
} catch (SQLException ex) {
ex.printStackTrace();
}
finally {
resultSet.close();
preparedStatement.close();
}
return ret;
Run Code Online (Sandbox Code Playgroud)
所有其他数据库,例如MySQL,Oracle,MS-SQL,Derby都可以正常使用这样的SQL - 但是PostgreSQL总是抛出异常.
org.postgresql.util.PSQLException: ERROR: relation "value" in FOR UPDATE/SHARE clause not …Run Code Online (Sandbox Code Playgroud) 我是新手使用"乐观锁定"机制 - 我使用的是hibernate(在Jboss中)和容器管理事务(CMT).我想在我的实体读取和实体更新之间处理这种情况,其他人在DB中更新同一个实体(即行).在这种情况下,我想抛出异常..
我用@Version注释了我的实体 - 就像
@Version
private Long version;
Run Code Online (Sandbox Code Playgroud)
现在,我很困惑,如果这对于版本管理来说已经足够了,或者我需要显式调用EntityManager.lock()api之类的
{
.
.
final QueryDTO queryDTO = entityManager.find(QueryDTO.class, id);
entityManager.lock(queryDTO, LockModeType.READ);
queryDTO.setStatus(updatedStatus);
entityManager.persist(queryDTO);
}
Run Code Online (Sandbox Code Playgroud)
提前致谢,
我是 Android 编程的新手 - 所以我对“上下文”和“意图”不是很清楚。
我想知道有没有办法从 Service 类访问Activity?即假设我有 2 个类 - 一个从“活动”扩展,另一个从“服务”扩展,我在我的活动类中创建了一个意图来启动服务。
或者,如何从我的“活动”类访问“服务”类实例 - 因为在这样的工作流中,服务类不是由我的活动代码直接实例化的。
public class MainActivity extends Activity {
.
.
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
startService(new Intent(this, CommunicationService.class));
.
.
}
public class CommunicationService extends Service implements ..... {
.
.
@Override
public int onStartCommand(final Intent intent, int flags, final int startId) {
super.onStartCommand(intent, flags, startId);
....
}
}
Run Code Online (Sandbox Code Playgroud) jboss ×2
postgresql ×2
alias ×1
android ×1
batch-file ×1
cmd ×1
contextpath ×1
file ×1
hibernate ×1
jpa ×1
redirect ×1
sql ×1
sql-server ×1
sql-update ×1
timeout ×1
windows ×1