Beiträge von xillian

    also ich habe mir nochmal den ganzen thread durchgelesen, weil ich nicht so ganz glauben konnte, dass du einen MSSQL Datenbankserver unter Debian betreibst und nun bin ich nicht gerade schlauer...da ist mal von MySQL die rede und mal von MSSQL. Der Treiber funktioniert natürlich nur bei einem MSSQL Server und ich habe es auch noch nie mit Linux probiert - evtl. kann es auch am setup des MSSQL Servers liegen, da kann man auch noch so einiges einstellen, kenne ich mich aber nicht richtig mit aus, da ich kein DBAdmin bin. Wenn du einen MySQL Datenbankserver verwendest, solltest du auch den Treiber für MySQL verwenden - das wäre dann der MySQL Connector/J (gibt es direkt unter mysql.com). ich würde erstmal telnet oder nmap auf port 1433 machen, ob der MSSQL Server dort erreichbar ist. .... und dumme fragen gibt es bekanntlich nicht. ;)

    so funktioniert es bei mir.


    eintrag in der notes.ini vom Domino:
    JavaUserClasses=G:\JDK1.3\lib\mssqlserver.jar;G:\JDK1.3\lib\msutil.jar;G:\JDK1.3\lib\msbase.jar
    kann man natürlich auch in der notes.ini vom client eintragen, dann sollte das einbinden der jars über 'projekt bearbeiten' entfallen. - nicht als letzten eintrag -


    und dann die connection zu mssql. ich habe den code von unnötigem balast befreit (einiges ist glaube ich immernoch überflüssig) um nur die connection herzustellen. ich hoffe, dass ich nichts wichtiges gelöscht habe. der eigentlich agent tut noch mehr und ich war bisher zu faul, die connection in eine eigene klasse auszugliedern. wichtig ist das 'deregister' am ende, sonst läuft die irgendwann der drivermanager über, bzw. kriegst du ein problem wenn mehrere apps den gleichen jdbc treiber benutzen.


    import lotus.domino.*;
    import java.sql.*;
    import com.microsoft.jdbc.sqlserver.*;
    import java.io.*;
    import java.util.*;


    public class JavaAgent extends AgentBase {


    public void NotesMain() {
    try {
    Connection con = null;
    Session session = getSession();
    AgentContext agentContext = session.getAgentContext();
    Database db = agentContext.getCurrentDatabase();
    Document doc = agentContext.getDocumentContext();
    PrintWriter pw = getAgentOutput();


    Driver drv = (Driver)Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
    Properties p = new Properties();
    p.put( "user", "USERNAME" );
    p.put( "password", "PASSWORD" );
    con = drv.connect("jdbc:microsoft:sqlserver://SERVERIP:1433;databasename=DBNAME", p);


    if(!con.isClosed())
    System.out.println("Datenbanktverbindung zum SQLServer über TCP/IP hergestellt ...");
    Statement stmt = con.createStatement();
    String s = "SELECT WHATEVER";

    ResultSet rs = stmt.executeQuery(s);

    // was immer mit den Daten getan werden soll

    rs.close();
    stmt.close();
    con.close();

    System.out.println("Datenbankverbindung abgebaut ...");

    DriverManager.deregisterDriver(drv);

    } //END Try

    catch(Exception e)
    {
    e.printStackTrace();
    } //END Catch
    } // END NotesMain
    } // END Agent

    der treiber ist richtig - ich lade immer die setup.exe herunter, die installiert lokal alle dateien und dann habe ich auch gleich die jar-archive vorliegen. ich denke, du müßtest die tar-datei entpacken, da sind die jars bestimmt drin. aktuell ist aber glaube ich schon sp4.


    im designer-programmierfenster gibt es unten links einen punkt "projekt bearbeiten". hier kannst du deinem projekt zusätzliche archive hinzufügen. wenn das geschehen ist, muß die zusätzlich über import java.blabla.*; die richtigen klassen einbinden.


    ich sehe mal zu, dass ich morgen den code poste, dann bin ich auf der arbeit und habe meine sourcen. schönen vatertag noch :D

    Hallo zusammen!
    Also um von Domino auf MSSQL zuzugreifen ist der SQL Server 2000 Driver for JDBC erste Wahl. Den solltest du bei M$ downloaden und die jar-Archive in einen Java-Agent einbinden (Projekt bearbeiten und jars hinzufügen). Jetzt weiß schonmal der Client Bescheid. Danach machst du die Dinger dem Server bekannt, indem du die Pfade in der Notes.ini einträgst (JAVAUSERCLASSES = ...) - Wichtig! Dieser Eintrag sollte nicht am Ende der Notes.ini stehen, dann klappts manchmal nicht. Also ich habe mehrere Agenten die das können, allerdings alle in Java. MSSQL ist unsere StandardDB und somit muß ich immer Brücken bauen...also wenn du noch Fragen hast....