Skip to Content.
Sympa Menu

freetds - Re: Why can't this stored procedure be called? (FreeTDS_JDBC and jtds)

freetds AT lists.ibiblio.org

Subject: FreeTDS Development Group

List archive

Chronological Thread  
  • From: Bob Kline <bkline AT rksystems.com>
  • To: TDS Development Group <freetds AT franklin.oit.unc.edu>
  • Subject: Re: Why can't this stored procedure be called? (FreeTDS_JDBC and jtds)
  • Date: Mon, 10 Sep 2001 08:37:33 -0400 (EDT)


On Mon, 10 Sep 2001, Anton van Straaten wrote:

> To summarize for anyone else reading this, here's a stored procedure
> for MS SQL 6.5 which works fine in all environments, but I can't
> successfully call with any version of the FreeTDS JDBC drivers,
> including the SourceForge version or Curt Hagenlocher's version:
>
> create procedure spTestExec as
> create table #tmp ( Result varchar(50) )
> insert #tmp execute spTestExec2
> select * from #tmp
>
> The above depends on the following procedure:
>
> create procedure spTestExec2 as
> select 'Did it work?' as Result -- substitute text depending
> on degree of
> optimism
>
> If anyone is kind enough to take the time to try this and can
> actually get it working with SQL 6.5 and FreeTDS JDBC, please let me
> know, because then at least I'll know that there's something wrong
> with my setup or something I'm doing, rather than with the FreeTDS
> JDBC driver. At the moment, I must admit I suspect a FreeTDS JDBC
> limitation, although it's not clear to me why the innards of a
> stored procedure should affect FreeTDS, other than the speculation
> about multiple result sets in my first message.

I have it working against SQL Server 7.0 using the March 7 code (I
believe that's the latest change that has been made to the code on the
freetds site). Don't have a convenient SQL Server 6.5 lying around.

One thing I haven't seen is any of your Java code. Perhaps it might be
helpful to compare what's working with what isn't. Mine looks like
this:

public static void main(String[] av) {
String url = "jdbc:freetds:sqlserver://xxx/xxx;TDS=70";
String uid = "xxx";
String pwd = "xxx";
try {
Class.forName("com.internetcds.jdbc.tds.Driver");
java.sql.Connection connection
= java.sql.DriverManager.getConnection(url, uid, pwd);
java.sql.Statement st = connection.createStatement();
java.sql.ResultSet rs
= st.executeQuery("EXEC spTestExec");
while (rs.next())
System.out.println(rs.getString(1));
st.close();
connection.close();
}
catch (Exception e) {
e.printStackTrace();
}
}

--
Bob Kline
mailto:bkline AT rksystems.com
http://www.rksystems.com





Archive powered by MHonArc 2.6.24.

Top of Page