小编jav*_*r71的帖子

如何在SQL Server 2008中使用表别名编写UPDATE SQL?

我有一个非常基本的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",那么它可以正常工作.

但我需要使用别名.

sql sql-server alias sql-server-2008 sql-update

191
推荐指数
2
解决办法
17万
查看次数

如何检查".bat"文件中的命令行参数?

我的操作系统是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)

windows cmd file batch-file

93
推荐指数
6
解决办法
18万
查看次数

如何从JBoss中的"root(/)"上下文自动指向"我的Web应用程序"?

我正在使用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实现自动直接到我的网络应用程序?

jboss redirect contextpath

14
推荐指数
2
解决办法
3万
查看次数

为什么运行我的应用程序时会创建这么多"postgres.exe"?

我有一个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使用)产生/启动了那些额外的进程吗?

postgresql

14
推荐指数
1
解决办法
3万
查看次数

为什么JBoss server.log中的"TransactionReaper :: check for TX"警告


我正在使用Hibernate 3.6.0JBoss 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)

任何帮助都感激不尽.

jboss timeout

12
推荐指数
2
解决办法
3万
查看次数

如何在Java类中使用Spring的"user-by-username-query"子句?

我使用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&lt;&gt;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)

任何帮助都感激不尽.

spring-security

5
推荐指数
1
解决办法
1万
查看次数

PostgreSQL是否支持"SELECT ... FOR UPDATE OF ..."SQL?

我目前正在使用带有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)

postgresql

4
推荐指数
1
解决办法
9694
查看次数

关于乐观锁定的基本问题(Hibernate)

我是新手使用"乐观锁定"机制 - 我使用的是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)

提前致谢,

hibernate jpa optimistic-locking

2
推荐指数
1
解决办法
1195
查看次数

如何通过意图从服务类访问“活动”?


我是 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)

android android-intent android-activity

0
推荐指数
1
解决办法
4117
查看次数