Avatar billede drevi Nybegynder
22. september 2003 - 12:24 Der er 15 kommentarer og
1 løsning

JBoss og MS sql server

jeg forsøger at få JBoss til at kontakte min MS sql server 2000, jeg benytter mig af CMP2.0. Bean'en kan deployes uden problemmer(fejl), men når jeg foretager en søgning får jeg intet resultat, derfor er jeg i tvivl om hvorvidt jeg har kontakt fra JBoss serveren til databasen, her benytter jeg en ODBC driver og jeg har sat mssql-ds.xml op og pakket den med i .jar filen i META-INF. jeg har også sat en ODBC ref. op på den maskine JBoss serveren køre på og den virker med en standard java app der bare henter alt ud. derfor er mit spørgsmål nu hvorfor er giver min søgningen ingen resultat.

XML'er

<ejb-jar>
  <enterprise-beans>
    <session>
        <description>Diplas</description>
        <ejb-name>Diplas</ejb-name>
        <home>buisnesslayer.DiplasSessionHome</home>
        <remote>buisnesslayer.DiplasSession</remote>
        <ejb-class>buisnesslayer.DiplasSessionImpl</ejb-class>
        <session-type>Stateful</session-type>
        <transaction-type>Container</transaction-type>   
        <ejb-ref>
            <ejb-ref-name>ejb/ChauffoerHome</ejb-ref-name>
            <ejb-ref-type>Entity</ejb-ref-type>
            <home>dataobject.ChauffoerHome</home>
            <remote>dataobject.Chauffoer</remote>
        </ejb-ref>
       
    </session>
    <entity>
          <display-name>Chauffoer</display-name>
        <ejb-name>Chauffoer</ejb-name>
        <home>dataobject.ChauffoerHome</home>
        <remote>dataobject.Chauffoer</remote>
        <ejb-class>dataobject.ChauffoerImlp</ejb-class>
       
        <persistence-type>Container</persistence-type>
        <prim-key-class>java.lang.Integer</prim-key-class>
        <reentrant>False</reentrant>
        <cmp-version>2.x</cmp-version>
        <abstract-schema-name>Chauffoer</abstract-schema-name>
       
        <cmp-field><field-name>Chauffoer_ID</field-name></cmp-field>
        <cmp-field><field-name>Chauffoer_Navn</field-name></cmp-field>
        <cmp-field><field-name>Chauffoer_CPR</field-name></cmp-field>
        <cmp-field><field-name>Chauffoer_Ansat_Dato</field-name></cmp-field>
        <cmp-field><field-name>Chauffoer_Kran_Cert</field-name></cmp-field>
        <cmp-field><field-name>Chauffoer_Farlig_Gods</field-name></cmp-field>
        <cmp-field><field-name>Chauffoer_Kontonr</field-name></cmp-field>
        <cmp-field><field-name>Chauffoer_TLF</field-name></cmp-field>
        <cmp-field><field-name>Chauffoer_Mobil</field-name></cmp-field>
        <cmp-field><field-name>Chauffoer_Koerekort_Nr</field-name></cmp-field>
        <cmp-field><field-name>Chauffoer_Sim_Kort</field-name></cmp-field>
        <cmp-field><field-name>Chauffoer_Adresse</field-name></cmp-field>
        <cmp-field><field-name>Chauffoer_Post_Nr</field-name></cmp-field>
        <cmp-field><field-name>Chauffoer_By</field-name></cmp-field>
        <cmp-field><field-name>Chauffoer_Kort_Nr</field-name></cmp-field>
        <cmp-field><field-name>Chauffoer_Passwd</field-name></cmp-field>
        <cmp-field><field-name>Chauffoer_Niveau</field-name></cmp-field>
        <primkey-field>Chauffoer_ID</primkey-field>
       
       
        <query>
            <query-method>
              <method-name>findAll</method-name>
              <method-params/>
            </query-method>
            <ejb-ql><![CDATA[
              SELECT Object(c)
              FROM Chauffoer c
            ]]></ejb-ql>
        </query>

    </entity>
  </enterprise-beans>
 
</ejb-jar>

<jboss>
  <enterprise-beans>
      <session>
    <ejb-name>Diplas</ejb-name>
        <jndi-name>Diplas</jndi-name>
    <ejb-ref>
            <ejb-ref-name>ejb/ChauffoerHome</ejb-ref-name>
            <jndi-name>Chauffoer</jndi-name>
        </ejb-ref>

      </session> 
   
      <entity>
        <ejb-name>Chauffoer</ejb-name>
        <jndi-name>Chauffoer</jndi-name>
   

      </entity>
  </enterprise-beans>
</jboss>

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

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

<!-- $Id: mssql-ds.xml,v 1.1 2002/07/22 22:57:24 d_jencks Exp $ -->

  <!-- ======================================================================-->
  <!-- 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 -->
  <!-- ===================================================================== -->

<datasources>
  <local-tx-datasource>
    <jndi-name>HolmJensen</jndi-name>
    <connection-url>jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=HolmJensen</connection-url>
    <driver-class>com.microsoft.jdbc.sqlserver.SQLServerDriver</driver-class>
    <user-name>dbuser</user-name>
    <password>access</password>
  </local-tx-datasource>

</datasources>

der er også en jbosscmp-jdbc.xml men der står ikke noget spændende i den jeg poster gerne mere kode hvis det hjælper til en løsning.
Avatar billede arne_v Ekspert
22. september 2003 - 12:28 #1
Hvorfor bruger du JDBC-ODBC bridgen ?

MS har releaset en JDBC driver til MS SQLServer !
Avatar billede arne_v Ekspert
22. september 2003 - 12:31 #2
Hov det gør du jo heller ikke - du bruger JDBC driver.

Sorry - jeg lod mig bare forvirre lidt af snakken on ODBC.
Avatar billede drevi Nybegynder
22. september 2003 - 12:35 #3
ok jeg kunne godt bruge et link samt lidt info som er den gratis ect.

tror nok det kom af at jeg fik samme resultat med JDBC kun, også virkede den java app lige så måtte det jo være vejen frem, men hvis det kan køre med JDBC kun ville det være at foretrække
Avatar billede arne_v Ekspert
22. september 2003 - 12:44 #4
JDBC driveren er på:

http://www.microsoft.com/downloads/results.aspx?productID=&freetext=jdbc&DisplayLang=en

men du refererer allerede til den i din datasources definition.

Hvis ikke du har driveren, så kan jeg godt forstå at du ikke får
nogle data tilbage.
Avatar billede arne_v Ekspert
22. september 2003 - 12:45 #5
Men ellers tror jeg at vejen frem er at checke hvilke fejl-meddeleser der
kommer fra din client app, og i serverens log.
Avatar billede drevi Nybegynder
22. september 2003 - 12:56 #6
ok du havde ret den driveren var ikke installeret, men jeg får stadig ikke nogle resultater. der fortælles heller ikke om nogen fejl hverken i serverens log eller JBoss eller min client?
Avatar billede arne_v Ekspert
22. september 2003 - 13:04 #7
Hvad står der i loggen når du deployer ?
Avatar billede arne_v Ekspert
22. september 2003 - 13:04 #8
Mit umiddelbare gæt vil være at JBoss ikke har opdaget at den
skal bruge din SQLServer data source og bruger default databasen.
Og den indeholder selvfølgelig 0 records.
Avatar billede arne_v Ekspert
22. september 2003 - 13:11 #9
Det plejer man at angive i sin jbosscmp-jdbc.xml - noget a la:

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

<!DOCTYPE jbosscmp-jdbc PUBLIC "-//JBoss//DTD JBOSSCMP-JDBC 3.0//EN" "http://www.jboss.org/j2ee/dtd/jbosscmp-jdbc_3_0.dtd">

<jbosscmp-jdbc>
  <enterprise-beans>
      <entity>
        <ejb-name>Chauffoer</ejb-name>
        <datasource>java:/HolmJensen</datasource>
        <datasource-mapping>SQLServer</datasource-mapping>
        <table-name>Chauffoer</table-name>
        ...
      </entity>
  </enterprise-beans>
</jbosscmp-jdbc>
Avatar billede drevi Nybegynder
22. september 2003 - 13:18 #10
ja også min tanke men nu får jeg den her:

13:17:06,449 ERROR [EntityContainer] Starting failed
org.jboss.deployment.DeploymentException: Error in jbosscmp-jdbc.xml : datasource-mapping SQLServer not found

hvor finder jeg SQLServer mapping eller har den en default et sted?
Avatar billede arne_v Ekspert
22. september 2003 - 13:20 #11
Så hedder den mapping noget andet.

Du kan finde alle mappings i en fil ovre i conf directory.
Avatar billede arne_v Ekspert
22. september 2003 - 13:24 #12
conf standardjbosscmp-jdbc.xml

Og mapping hedder:

MS SQLServer
Avatar billede drevi Nybegynder
22. september 2003 - 13:31 #13
jep har fundet den nu siger den så den ikke kan finde driveren det er skruen uden ende det her
Avatar billede drevi Nybegynder
22. september 2003 - 13:34 #14
ah ok jeg skulle selvfølglige flytte ms SQLserver jar filer over i JBoss/lib jo :D
Avatar billede drevi Nybegynder
22. september 2003 - 13:35 #15
hvis du lige smider et svar så får du velfortjente points
Avatar billede arne_v Ekspert
22. september 2003 - 14:13 #16
svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester