.NET Tutorials, Forums, Interview Questions And Answers
Welcome :Guest
Sign In
Win Surprise Gifts!!!

Top 5 Contributors of the Month
david stephan
Gaurav Pal
Post New Web Links

SQLServerDatabaseMetaData.getColumns -> IS_AUTOINCREMENT returns SMALLINT while JDBC defines it as B

Posted By:      Posted Date: December 04, 2010    Points: 0   Category :Sql Server

I am running:



Microsoft SQL Server 10.00.2531

Microsoft SQL Server JDBC Driver 3.0 3.0.1119.0



Calling DatabaseMetaData.getColumns() for a table and then checking the ResultSetMetaData reveals that the IS_AUTOINCREMENT column is reported by the ResultSetMetaData as being SMALLINT rather than STRING as it is defined in JDBC.


Please advise.

View Complete Post

More Related Resource Links

JDBC - calling stored procedure always returns 1 result set


I am running the following against Northwind on Sql Server 2005. It always returns a result set of 1 row regardless of the parameters passed:

Connection conn;
// not showing conn creation

CallableStatement callStmt = conn.prepareCall("{ call [Sales by Year] (?,?) });
callStmt.setDate(1, new Date (long_Jan_1_1996));
callStmt.setDate(2, new Date (long_Jan_1_1997));
ResultSet rs = callStmt.executeQuery();

Why do I only get 1 row of results back?

thanks - dave

Very funny video - What's your Metaphor?

Problem when using getObject to retrieve the value of the IS_AUTOINCREMENT-Column




Using the JDBC driver, I try to get all values of the Column-Metadata-Resultset using the following code:


DatabaseMetaData md= connection.getMetaData();
Resultset rs = md.getColumns(null, null, "mytable", null);

ResultSetMetaData rsmd = resultSet.getMetaData();
int n_column = rsmd.getColumnCount();

	for (int i = 0; i < n_column; i++) {			
		Object o = rs.getObject(i+1);
System.out.println(o); } }


Unfortunately, this produces the following error message for the IS_AUTOINCREMENT-Column:

com.microsoft.sqlserver.jdbc.SQLServerException: Die Konvertierung von "char" in "SMALLINT" wird nicht unterstützt.

Which roughly translates to "SMALLINT" cannot be converted to "char".

When I skip this column, it works without problems. It also works when I change getObject to getString, however that is not really an option, as this is actually part of a bigger program that needs to deal with generic database queries and resultsets.


I use SQL Server 2008 Standard (Version: 10.0.1600), running on Windows Server 2008.

I tried the newest version of the JDBC driver and the CTP for version 4.0, but they all exhibit the same behaviour.

SqlCommand.ExecuteNonQuery() returns -1 when doing Insert / Update / Delete

Sometimes you end up with a return value of -1 when using the SqlClient.SqlCommand.ExecuteNonQuery method.

Why is that?

Well, the ExecuteNonQuery method is there for statements for changing data, ie. DELETE / UPDATE /INSERT, and the returned value are the number of rows affected by that statement.

When checking the documentation we can see that there are some conditions that return -1.

For UPDATE, INSERT, and DELETE statements, the return value is the number of rows affected by the command.

When a trigger exists on a table being inserted or updated, the return value includes the number of rows affected by both the insert or update operation and the number of

rows affected by the trigger or triggers. For all other types of statements, the return value is -1. If a rollback occurs, the return value is also -1.

sqldatasource's filter returns too few records


I have a puzzling issue.  This is in asp.net 2.0, using vb.  I have a gridview that is bound to a sqldatasource.  Here is the datasource code:

<asp:SqlDataSource ID="fellowsSqlDataSource" runat="server"
        ConnectionString="<%$ ConnectionStrings:PFPFellowsConnectionString %>"
        ProviderName="<%$ ConnectionStrings:PFPFellowsConnectionString.ProviderName %>"
        FilterExpression="{0}"  >
            <asp:SessionParameter Name="psuaccessid" SessionField="username" />         

Linq to SQL returns null for DateTime fields.


I have a linq to sql entity class in which I declared some DateTime fileds like this:

[Column(DbType = "smalldatetime")]
public DateTime? StartDate { get; set; }

And this is how I fetch data form repository:

return repository.Logs.OrderByDescending(l => l.LogID).FirstOrDefault();

All non DateTime fields are filled properly but all datetimes are null.

[Column(DbType = "smalldatetime")]

        public DateTime? StartDate { get; set; }

Adding carriage returns between 2 dynamically created controls in an HtmlTableCell


The title pretty much explains it. Here is what i'm trying to do...

 Private Sub LoadGrid_CommentsField(ByVal Row As HtmlTableRow, ByVal BookingNumber As String, ByVal CommentsText As String)
  Dim Txt As TextBox
  Dim Cmd As ClickOnceButton.ClickOnceButton

  Txt = New TextBox
  Txt.ID = "txtComment_" & BookingNumber
  Txt.CssClass = "TFAppControls"
  Txt.TextMode = TextBoxMode.MultiLine
  Txt.MaxLength = 500
  Txt.Width = New Unit(95, UnitType.Percentage)
  Txt.Text = CommentsText

  Row.Cells(cComments).InnerHtml &= "<br/>"

  Cmd = New ClickOnceButton.ClickOnceButton
  Cmd.DisableAfterClick = True
  Cmd.Text = "Save Comments"
  Cmd.ID = "cmdSaveComments_" & BookingNumber
  Cmd.CssClass = "TFAppButtons"
  Cmd.EnableViewState = False
 End Sub

On the line where i try and update the InnerHtml, i get the following error; "Cannot get inner content of  because the contents are not literal."

Picker returns nothing for BDC column in custom list


Playing with the BDC for the first time, running into some issues adding a Business Data column to a custom list.

I believe my ADF file is solid. I've been able to import that just fine and can use the application to drive various BDC-specific webparts (a Business Data List or Business Data Item, for example). It also seems to work when I manually enter information in my NewForm.aspx field and click the Check Names button (it verifies my entry and underlines it, creates link to profile when I view the list data).


If I try to use the picker, I get nothing. Enter a name I know is valid or a % and click the magnifying glass icon and I very briefly get the "Please Wait" message, then just an empty set with "Type into the search box above then press "Enter" to start your search" where my results should be.

Any pointers? Thanks.

Resume SharePoint Services Web Application and returns code 1387 error


Hello everyone! Newbie here. I would like to ask how to start the SharePoint Services Web Application on (WSS3.0,internal database, stanalone users) without getting error 1387 ?

I would love to provide more information regarding this issue but what I got is error 1387 displayed in the browser.

I look forward to seeing you guys feedback from your expertise angle.



VS2005 calling VS2010 asmx service returns empty string


Anyone have any experience with this?

We are using VS 2005 for the front end, and vs 2010 for the web services part (asmx), not wcf yet.


Web service works just like the vs2005 when run locally, no problems.


Connecting to it from a test app returns an empty string. Connecting to a 2005 app doesn't!

Anyone run into this before or have a suggestion? Surely vs 2005 can connect to web services from a later version?






GlobalMemoryStatus returns negative junk value

Hi all,i am retrieving total physical memory using GlobalMemoryStatus() as follows :public struct MemoryStatus{public uint Length; //Length of struct public uint MemoryLoad; //Value from 0-100 represents memory usage public uint TotalPhysical;public uint AvailablePhysical;public uint TotalPageFile;public uint AvailablePageFile;public uint TotalVirtual;public uint AvailableVirtual;}MemoryStatus stat;[DllImport("kernel32.dll")]public static extern void GlobalMemoryStatus(out MemoryStatus stat);GlobalMemoryStatus(out stat);uint totPhy = stat.TotalPhysical;My question is 1) Is the stat.TotalPhysical return the actual physical memory installed int he machine ?2) I am getting neagtive value like -271691776 for the vista mahcine(Os type : 6.0.6001) and Windows Server 2000 . What is the reasonCan someone please help me out.Thanks in advance

PredictCaseLikelyHood returns 0, 1 or NaN

Hi, I have a clustering model which I want to use to detect anamolies in input data. However when I create DMX queries in the SSAS Mining Model Prediction Tab using the PredictCaseLikelyHood function, the function usually returns 0, 1 or NaN without any apparent correlation to the underlying data. As far as I can tell from the clusters, the underlying data is not particularly random. Any ideas to what could be causing this? Best regards Jørgen      

Looking for TSQL statement that returns customers with greatest number of order in descending order

What would be an efficient TSQL SELECT statement that joins customer and order tables, counts the orders for each customer (group by) and returns a result for all customers with at least one order, and also in descending order from customers with the most orders to the least?

How can I improve the performance of batch inserts with the JDBC driver?

In our testing, batch inserts are more than 4 times faster on Oracle with the Oracle JDBC driver than on SQL Server with either the Microsoft or jTDS JDBC drivers on the same hardware.  The issue appears to be with the JDBC driver, not the database server.  We have run tests with SQL Server 2005/2008 on a number of machines with similar results. The following code shows a simplified example of the code we are executing.  It uses a 2 column table which has an index on the id column.  In the test program we are inserting 100k rows with a batch size of 10k.  Any suggestions on improving the performance with the SQL Server JDBC driver?   private void testBatchInserts(Connection conn, int rows, int batchSize) throws SQLException {     String sql = "INSERT INTO Bench (id, name) VALUES (?, ?)";     conn.setAutoCommit(false);     PreparedStatement stmt = conn.prepareStatement(sql);     int batchCount = 0;     // For each row...     for (int i = 1; i <= rows; i++) {       // Create the record       stmt.setInt(1, i);       stmt.setString(2, "ROW #" + i);       // Add it to the batch       stmt.addBatch(); &nb

How do I install SQL Server 2005 JDBC driver

I'm an new bie to "SQL Server 2005 JDBC Driver". I have downloaded SQL Server 2005 JDBC driver and extracted it to C:\Program Files\Microsoft SQL Server 2005 JDBC Driver\. Is the installation complete now? How can I use this driver from my application? If there is a step-by-step instruction on whether we need to run some scripts in SQL Server or to configure some system variables, it would be great. Thanks in advance for your time in this.Cheeeeerrzzzz! S@kthi http://blogs.msdn.com/sqlsakthi | http://twitter.com/PowerSakthi Mark as Answer if it helps. This posting is provided "AS IS" with no warranties and confers no rights.

Getting JDBC metadata for synonyms

Using the Latest JDBC Driver from SQLExpress I'm attempting to get use the getTable() method to get information about database objects that the user can access/alter.   Works fine for for tables and views, but can't seem to get any information returned for synonyms.Is it possible to get information for synonyms, e.g. column definitions? or am I'm missing some setting in the connection.Any Help would be appreciated!Dave.

NTLM support w/ MS JDBC 3.0

Does the latest driver support NTLMv2 (windows) authentication ? I have several developers using non-windows OSs, the JTDS driver works with a connect sting: jdbc:jtds:sqlserver=\\server;useNTLMv2=true;domain=<domainName> , provided the username is not in a domain context (domain\user), this method via JTDS works on all machines, Unix, Windows, osX. I have NOT been able to get this to work on any non-domain windows machine.
ASP.NetWindows Application  .NET Framework  C#  VB.Net  ADO.Net  
Sql Server  SharePoint  Silverlight  Others  All   

Hall of Fame    Twitter   Terms of Service    Privacy Policy    Contact Us    Archives   Tell A Friend