2 Replies Latest reply on Aug 30, 2002 8:04 PM by qiang liu

    postgres & 3.0.1 - could not create connection

    garyg Novice

      I'm moving my working j2ee app from 2.4 into 3.0.1 and I'm getting the errors below. I've also included my postgres-service.xml file below that. I do have user's configured for this database and they work.

      Any help much appreciated.

      --- error output ---

      18:54:13,716 ERROR [DBaseFetchBean] getTasks: Could not create
      connection; - nested throwable: (Something unusual has occured to cause
      the driver to fail. Please report this exception: java.sql.SQLException:
      No Postgres username specified in startup packet.); - nested throwable:
      (org.jboss.resource.ResourceException: Could not create connection; -
      nested throwable: (Something unusual has occured to cause the driver to
      fail. Please report this exception: java.sql.SQLException: No Postgres
      username specified in startup packet.))


      --- postgres-service.xml ---

      <?xml version="1.0" encoding="UTF-8"?>

      <!-- ======================================================================================== -->
      <!-- New ConnectionManager setup for default PostgreSQL dbs -->
      <!-- Build jmx-api (build/build.sh all) and view for config documentation -->
      <!-- To avoid class not found headaches, copy your postgres driver to the jboss lib directory -->
      <!-- ======================================================================================== -->




      <!-- ======================================================= -->
      <!-- You must include a login module configuration named PostgresDbRealm
      in your login-conf.xml, here is an example for a
      ConfiguredIdentityLoginModule:

      <application-policy name = "PostgresDbRealm">

      <login-module code = "org.jboss.resource.security.ConfiguredIdentityLoginModule" flag = "required">
      <module-option name = "principal">myuser</module-option>
      <module-option name = "userName">myuser</module-option>
      <module-option name = "password">mypass</module-option>
      <module-option name = "managedConnectionFactoryName">jboss.jca:service=LocalTxCM,name=PostgresDS</module-option>
      </login-module>

      </application-policy>

      NOTE: the application-policy name attribute must match SecurityDomainJndiName, and the
      module-option name = "managedConnectionFactoryName"
      must match the object name of the ConnectionManager you are configuring here.
      -->
      <!-- ===================================================================== -->
      <!--uncomment out this line if you are using the PostgresDbRealm above
      PostgresDbRealm
      -->

      <depends optional-attribute-name="ManagedConnectionFactoryName">
      <!--embedded mbean-->

      <!-- ========== Set the JndiName ======================= -->
      PostgresDS


      <config-property name="ConnectionURL" type="java.lang.String">jdbc:postgresql://localhost:5432/acais</config-property>
      <config-property name="DriverClass" type="java.lang.String">org.postgresql.Driver</config-property>
      <!--set these only if you want only default logins, not through JAAS -->
      <config-property name="UserName" type="java.lang.String"></config-property>
      <config-property name="Password" type="java.lang.String"></config-property>




      <!--Below here are advanced properties -->
      <!--hack-->
      <depends optional-attribute-name="OldRarDeployment">jboss.jca:service=RARDeployment,name=JBoss LocalTransaction JDBC Wrapper

      <!--real attributes-->



      <depends optional-attribute-name="ManagedConnectionPool">
      <!--embedded mbean-->


      0
      50
      5000
      15
      <!--criteria indicates if Subject (from security domain) or app supplied
      parameters (such as from getConnection(user, pw)) are used to distinguish
      connections in the pool. Choices are
      ByContainerAndApplication (use both),
      ByContainer (use Subject),
      ByApplication (use app supplied params only),
      ByNothing (all connections are equivalent, usually if adapter supports
      reauthentication)-->
      ByContainer



      <depends optional-attribute-name="CachedConnectionManager">jboss.jca:service=CachedConnectionManager

      <depends optional-attribute-name="JaasSecurityManagerService">jboss.security:service=JaasSecurityManager

      java:/TransactionManager
      <!--make the rar deploy! hack till better deployment-->
      jboss.jca:service=RARDeployer






        • 1. Re: postgres & 3.0.1 - could not create connection
          David Jencks Master

          Try setting your user/pw in the postgres-service file:

          <!--set these only if you want only default logins, not through JAAS -->
          <config-property name="UserName" type="java.lang.String">MyUser</config-property>
          <config-property name="Password" type="java.lang.String">MyPassword</config-property>



          • 2. Re: postgres & 3.0.1 - could not create connection
            qiang liu Newbie

            Hi! I got the similar error message in configuring MSSQL2000 +Jboss3.0.1RC, I have the following errors:

            org.jboss.deployment.DeploymentException: Error while fixing table name; - nested throwable: (org.jboss.util.NestedSQLException: Could not create connection; - nested throwable: (java.
            ql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]Login failed for user '(null
            '. Reason: Not associated with a trusted SQL Server connection.);

            But I looked at my mssql-service.xml file, I did specified the userName. My mssql-service.xml is as follows:

            <?xml version="1.0" encoding="UTF-8"?>

            <!-- ===================================================================== -->
            <!-- -->
            <!-- JBoss Server Configuration -->
            <!-- -->
            <!-- ===================================================================== -->


            <!-- ======================================================================-->
            <!-- New ConnectionManager setup for Microsoft SQL Server 2000 driver -->
            <!-- You may download the latest Microsoft JDBC driver from *Microsoft* -->
            <!-- http://msdn.microsoft.com/downloads/default.asp?url=/downloads/sample.asp?url=/MSDN-FILES/027/001/779/msdncompositedoc.xml&frame=true -->
            <!-- Build jmx-api (build/build.sh all) and view for config documentation -->
            <!-- ===================================================================== -->



            <!-- Include a login module configuration named MSSQLDbRealm.
            Update your login-conf.xml, here is an example for a
            ConfiguredIdentityLoginModule: -->


            <application-policy name = "MSSQLDbRealm">

            <login-module code = "org.jboss.resource.security.ConfiguredIdentityLoginModule" flag = "required">
            <module-option name = "principal">sa</module-option>
            <module-option name = "userName">sa</module-option>
            <module-option name = "password"></module-option>
            <module-option name = "managedConnectionFactoryName">jboss.jca:service=LocalTxCM,name=MSSQLDS</module-option>
            </login-module>

            </application-policy>

            <!--NOTE: the application-policy name attribute must match SecurityDomainJndiName, and the
            module-option name = "managedConnectionFactoryName"
            must match the object name of the ConnectionManager you are configuring here.
            -->
            <!--comment out this line if you want component managed security or want
            to use the default values in the ManagedConnectionFactoryProperties -->
            <!--
            MSSQLDbRealm
            -->

            <depends optional-attribute-name="ManagedConnectionFactoryName">
            <!--embedded mbean-->



            MSSQLDS



            <config-property name="ConnectionURL" type="java.lang.String">jdbc:microsoft:sqlserver://LLIU-DESK:1433;DatabaseName=VSS</config-property>
            <config-property name="DriverClass" type="java.lang.String">com.microsoft.jdbc.sqlserver.SQLServerDriver</config-property>
            <!--set these only if you want only default logins, not through JAAS-->
            <config-property name="UserName" type="java.lang.String">sa</config-property>
            <config-property name="Password" type="java.lang.String"></config-property>





            <!--Below here are advanced properties -->
            <!--hack-->
            <depends optional-attribute-name="OldRarDeployment">jboss.jca:service=RARDeployment,name=JBoss LocalTransaction JDBC Wrapper



            <depends optional-attribute-name="ManagedConnectionPool">
            <!--embedded mbean-->


            0
            50
            5000
            15
            <!--criteria indicates if Subject (from security domain) or app supplied
            parameters (such as from getConnection(user, pw)) are used to distinguish
            connections in the pool. Choices are
            ByContainerAndApplication (use both),
            ByContainer (use Subject),
            ByApplication (use app supplied params only),
            ByNothing (all connections are equivalent, usually if adapter supports
            reauthentication)-->
            ByContainer



            <depends optional-attribute-name="CachedConnectionManager">jboss.jca:service=CachedConnectionManager

            <depends optional-attribute-name="JaasSecurityManagerService">jboss.security:service=JaasSecurityManager

            java:/TransactionManager
            <mbean-ref name="ResourceAdapterName">JCA:service=RARDeployment,name=Minerva
            JDBC LocalTransaction ResourceAdapter</mbean-ref>

            <mbean-ref name="ConnectionManagerFactoryLoaderName">JCA:service=ConnectionManagerFactoryLoader,name=MinervaSharedLocalCMFactory</mbean-ref>

            <!--make the rar deploy! hack till better deployment-->
            jboss.jca:service=RARDeployer




            Does anyone have any idea about this?

            Any reply is highly appreciated!!

            Qiang