yohpopsMedlem sedan feb. 20011 198 inlägg Hej.
Vilka classer ska man använda och hur ska man använda dem om man vill ansluta sig till en lokal MsSql-server och göra en execute?
Jaga ska bara exekvera en stored procedure inte returnera någon data.
Har gjort såhär.
<%@ page import="java.sql.*"%>
<%
Connection cn = DriverManager.getConnection("dsn=localserver;uid=sa;pwd=");
Statement st = cn.createStatement() ;
st.execute("exec dbo.add_mfile '"+ fname +"',"+ flen);
cn.commit();
%>
Men jag får felet java.sql.SQLException: No suitable driver.
Hur ska jag göra?
mvh
yohpops
MSSQL drivrutiner
Börja med att ladda ner rätt JDBC drivrutiner från Microsoft sajt:
http://www.microsoft.com/downloads/details.aspx?FamilyID=9f1874b6-f8e1-4bd6-947c-0fc5bf05bf71&DisplayLang=en
Sen så måste du ladda drivrutinen innan du använder den med:
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
Sen för att få en koppling till databasen kör du, byt ut xxx mot namnet på database du vill koppla upp dig mot:
Connection conn = DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;databaseName=xxx", "sa", "");
Sen för att köra en stored procedure så skriver du:
CallableStatement cstmt = conn.prepareCall("{call add_mfile( ?, ? )}");
cstmt.setString(1, fname);
cstmt.setInt(2, flen);
cstmt.execute();
Där varje frågetecken i prepareCall strängen måste ha en motsvarande setXXX metod vilken metod som ska användas beror på vilken typ av in parameter proceduren tar.
yohpopsMedlem sedan feb. 20011 198 inlägg Fick det inte att fungera först men när jag hoppade över din sista punkt och använde
Statement st = cn.createStatement() ;
st.execute("exec dbo.add_file '"+ fname +"',"+ flen);
så funkade det.
Nu ska jag bara luska ut hur man hämtar data också.
ViktorMedlem sedan aug. 20021 752 inlägg Tråd flyttad från "Java 2 Enterprise Edition".
/Viktor