When performing a failover the DriverManager.getConnection method never returns from it's call. I used a modified version of the test program included in the sqljdbc help file (below). If the principle server is server2 and a failover is performed, the program works just fine. If the priciple server is server1 and a failover is performed, the hang occurs. The sql servers are not on a domain, are in the same workgroup, have certificates setup between them. Sqljdbc version used is 1.1.1501.101. I rolled back to version 1.1.1320.0 and the DriverManager.getConnection exceptioned. Not sure if this is a setup issue or a common problem. Anyone have any suggestions or seeing similar issues?
Thanks
- tc
Version 1.1.1501.101 - System hangs on DriverManager.getConnection method. Version 1.1.1320.0 - Exception: java.nio.channels.UnresolvedAddressException at sun.nio.ch.Net.checkAddress(Net.java:30) at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:451) at java.nio.channels.SocketChannel.open(SocketChannel.java:146) at com.microsoft.sqlserver.jdbc.DBComms.<init>(Unknown Source) at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(Unknown Source) at com.microsoft.sqlserver.jdbc.SQLServerConnection.loginWithFailover(Unknown Source) at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(Unknown Source) at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(Unknown Source) at java.sql.DriverManager.getConnection(DriverManager.java:525) at java.sql.DriverManager.getConnection(DriverManager.java:193) at testconnection.Main.Execute(Main.java:115) at testconnection.Main.main(Main.java:35)
private static void Execute(int iteration) { // Create a variable for the connection string. String connectionUrl = "jdbc:sqlserver://server1;" + "databaseName=TestDb;integratedSecurity=true;" + "failoverPartner=server2";
// Declare the JDBC objects. Connection con = null; Statement stmt = null;
try { System.out.println("(" + iteration + ") Connection Test"); // Establish the connection to the principal server. Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); System.out.println(" Get Connection."); con = DriverManager.getConnection(connectionUrl); System.out.println(" Connected to the principal server.");
// Create and execute an SQL statement that inserts some data. stmt = con.createStatement(); ResultSet rs = stmt.executeQuery("SELECT * FROM TestTable"); System.out.println(" SUCCESS");
while(rs.next()) { System.out.println(" Record: " + rs.getString("Field1")); } } // Handle any errors that may have occurred. catch (SQLException se) { try { // The connection to the principal server failed, // try the mirror server which may now be the new // principal server. System.out.println(" Connection to principal server failed, " + "trying the mirror server."); con = DriverManager.getConnection(connectionUrl); System.out.println(" Connected to the new principal server."); stmt = con.createStatement(); ResultSet rs = stmt.executeQuery("SELECT * FROM TestTable"); System.out.println(" SUCCESS");
When running the package in VisualStudio it runs properly, but if I let this package run as part of an SQL-Server Agent job, I got the message "The script threw an exception: Exception of type 'System.OutOfMemoryException' was thrown." on my log and the package ends up with an error.
Both times it is exactly the same package on the same server, so I don't know how the debug or even if there is anything I need to debug?
Greetings everyone, I am attempting to build my first application using Microsofts Sql databases. It is a Windows Mobile application so I am using Sql Server Compact 3.5 with Visual Studio 2008 Beta 2. When I try and insert a new row into one of my tables, the app throws the error message shown in the title of this topic. '((System.Exception)($exception)).Message' threw an exception of type 'System.NotSupportedException'
My table has 4 columns (i have since changed my FavoriteAccount datatype from bit to Integer) http://i85.photobucket.com/albums/k71/Scionwest/table.jpg
Account type will either be "Checking" or "Savings" when a new row is added, the user will select what they want from a combo box.
Next is a snap shot of my startup form. http://i85.photobucket.com/albums/k71/Scionwest/form.jpg
Where it says "Favorite Account: None" in the top panel, I am using a link label. When a user clicks "None" it will go to a account creation wizard, and set the first account as it's primary/favorite. As more accounts are added the user can select which will be his/her primary/favorite. For now I am just creating a sample account when the label is clicked in an attempt to get something working. Below is the code used.
account.FavoriteAccount = 1;//datatype is an integer, I have changed it since I took the screenshot.
financesDataSet.BankAccount.Rows.Add(account); //The next three lines where added while I was trying to get this to work. //I don't know if I really need them or not, I receive the error regardless if these are here or not.
catch (global:ystem.InvalidCastException e) { //Stops at the following line, this error was caused by 'if (this.financesDataSet.BankAccount[num].FavoriteAccount == 1)'
throw new global:ystem.Data.StrongTypingException("The value for column 'FavoriteAccount' in table 'BankAccount' is DBNull.", e);
I have no idea what I am doing wrong, all of the code I used I retreived from Microsofts help documentation included with VS2008. I have tried used my TableAdapter.Insert() method and it still failed when it got to
if (this.financesDataSet.BankAccount[num].FavoriteAccount == 1)
in my refreshDatabase() method it still failed.
When I look, the data has been added into the database, it's just when I try to retreive it now, it bails on me. Am I retreiving the information wrong?
I have a very simple SSIS package which I execute from VB.NET using the ManagedDTS namespace objects. I am getting a very sporadic error saying "The script threw an exception. Object reference not set to an instance of an object"
All the package does is insert rows from a filename that I pass into the package from code, and then rename the file in a script task. The script task is what is causing this error. If I remove/disable the script task the package executes everytime without error. I have even commented out all the code that might throw an exception and it still fails atleast 3 out of 10 times. Here is my code in the script task:
'CreateControlFile(strFileName, strDestination, e) End Sub
NOTE: I never get a package FAILURE as I would if it got into the CATCH block. I believe this is an error being generated from the Package processing engine.
Here is some output from the VB.NET application debug window:
This output's once for every "exception" thrown by each package execution.
A first chance exception of type 'System.NullReferenceException' occurred in VBAssembly
A first chance exception of type 'System.NullReferenceException' occurred in VBAssembly
A first chance exception of type 'System.IO.IOException' occurred in mscorlib.dll
Here is the code I use to execute the package:
Public Function ConsumePackage(ByVal strPath As String, ByVal strPackage As String) As Boolean
Dim bReturn As Boolean = False
Dim pkg As New Package
Dim app As New Application
Dim result As DTSExecResult = DTSExecResult.Failure
Try
pkg = app.LoadPackage(strPackage, Nothing)
Debug.Print("Executing package on file: " + strPath)
pkg.Variables("FileName").Value = strPath
result = pkg.Execute()
If result = DTSExecResult.Failure Or result = DTSExecResult.Canceled Then
My SqlConnection is causing an error "sqlConn.ServerVersion threw an exception of type System.InvalidOperationException". Everything I have read seems to suggest that there is a problem with my SQLConnection parameters but as you can see from the commeted code below I have tried three different servers with four different configurations. I am out of ideas on what is causing the error. Thanks - Amy Here is a section of my code: String sqlStmt = "Select [UserName], [Password], [Last], [First] from Contacts Where Login=@Uid AND Password=@Pwd"; SqlConnection sqlConn = new SqlConnection("Data Source=localhost;Initial Catalog=test;Integrated Security=SSPI;");//SqlConnection sqlConn = new SqlConnection("Data Source=pe2800;Initial Catalog=test;Integrated Security=SSPI;");//SqlConnection sqlConn = new SqlConnection("Data Source=HorizonDC02;Initial Catalog=test;Integrated Security=SSPI;");//SqlConnection sqlConn = new SqlConnection("Data Source=HorizonDC02;Initial Catalog=test;User ID=username;Password=password;"); SqlCommand sqlCmd = new SqlCommand(sqlStmt, sqlConn);sqlCmd.Parameters.Add("@Uid", SqlDbType.VarChar, 30).Value = uid;sqlCmd.Parameters.Add("@Pwd", SqlDbType.VarChar, 30).Value = pwd;sqlCmd.Connection.Open();
I need to refresh my cube daily and once this processed is done, i will update in ETL table with lastcubeprocessedtime in my timestamp column. Actually i am using IBM db2 provider since my ETL table resides in IBM DB2 source.
In my first task i am using script task where i will check whether my timestamp column value is NULL or not.
I am getting error like "The script threw an exception : keyword not supported: 'network port'." when this script task executes.
Moreover i am getting another error like "The execution succeeded, but the number of error raised(1) reached the maximum allowed(1); resulting in failure. This occurs when the number of errors reaches the number of specified in MaximumErrorCount. Change the MaximumErrorCount or fix this errors." For this error i have changed MaximumErrorCount value from 1 to 100 in dataflow task.
Can anyone tell me what might be the problem for these two errors?
I have VS2003 and VS2005 installed as well as SQL Server 2000 and SQL Server 2005 Tools. I have RS2000 and RS2005 installed. RS2000 works fine in VS2003. When using VS2005 and opening a Microsoft sample project for 2005, I get the error listed in the subject line.
When trying to create a new project and connecting to an Oracle database or a SQL Server 2005 database, I get the following error: "A connection cannot be made to the database. Set and check the connection string." The connection works fine when the test button is clicked, but fails when continuing in the wizard.
Any suggestions. We are trying to migrate from RS2000 to RS2005 and nothing in 2005 works.
I am using sql reporting service 2005 with .NET 2.0. I have created a custom dll file for report and put this dll in appropriate folder. Report is running fine in designer project. but when I am trying to view this report after uploading to report manager it give me an error like
Failed to load expression host assembly. Details: The type initializer for 'CableReporting.Utilities' threw an exception. (rsErrorLoadingExprHostAssembly)Is there any solution for that?
Hi,I alredy tried to search this problem in last posts, but I couldn'tfind the answer.I try to access via Extended SP the method in a dll.I registered the dll as a ExSP, with a name of method. But aftercalling it in T-SQL, I became such a error message:[Microsoft][ODBC SQL Server Driver][SQL Server]Cannot find thefunction SendGeneralNotify_FromA in the library [LibraryName.dll].Reason: 127(error not found).In this dll I have only one class an it has events, properities andmethods.I will to call one of these methods.aha ... very importand. Please don't say that this dll should bewritten in c++ because it is made like that (no VB).Maybe somebody of you have an example how I should call it, to becamean access on this dll?Sorry for my not well english.With best regards, looking forward for reply-----------------------------MatikJoin Bytes!
My preferred programming language is Java (sorry Microsoft). I've searched for examples of running DMX queries into an Analysis Services database from Java but failed to locate any. I've seen suggestions that XMLA could be used but again, I can't locate any examples (in any language). For my current project I ran up the white flag and used C# instead but this wouldn't be an option in other cases. It would be possible to make the DMX calls from C# objects and call those from Java but that's pretty labourious to code.
Anyone have any tips for using Java against SQL Server? Our ITdirector is thinking of making us a Java shop, but I really would liketo stay with SQL Server as our RDBMS. We have Oracle Financials butour in-house development (currently VB6 client-server, soon to bereplaced by a service-oriented architecture based around Sonic andincluding SalesForce, both of which are Java) has been against SQLServer. He says five years ago at his old company Java/SQL Server hadlousy performance. I vaguely remember that since then Microsoft cameout with their own JDBC driver for SQL Server... Anyone have experiencewith this? Any performance tips will be hugely appreciated.TIA
hi all and sorry for my englishI write into a SqlServer2000 database via jdbc using a PreparedStatement(pstmt) and one of fields is a TimeStamp, my code is:qwdum=System.currentTimeMillis();pstmt.setTimestamp(8 , new Timestamp(qwdum));sometimes the field on table is correct (the milliseconds are the same oflast 3 digits of variable qwdum), other times it has a difference of 1 o 2millisecondsthe same code with jdbc Oracle or iSeries works fineany idea?thanksRoberto Nenni
I am in the process of evalulating using SSRS with our Java app and I have a couple questions up front:
I see you can call SSRS thru web services and display an HTML report. Can you have the report go straight to the printer, rather then preview. So we can offer both Print and Print Preview options.
I see the page streaming option. So on page preview we could ask for page 1 to get a snappy display, then ask for the rest of the report to generate in background?
i want to use the sql server with java, but i don't find any documentation. I already loaded the sqljdbc.jar from the microsoft webpage, but i don't know how to connect.
This is my Connection function, but it doesn't connect. I get an exception like "cannot connect to ..."
Hello. I have just got windows xp profesional x64.When i am on the internett my jave does not open the programs and games.Can some one help me please.Thanks.
Hello. I am having trouble finding a descent API for executing TSQLvia JDBC. I have tried the Microsoft driver AND the JDTS driver's butget the same syntax errors. I am hoping there is a good solution alsofor executing scripts using the same. Any help is MUCHappreciated.Thx.
I'm having a problem getting back appropriate metadata for storedprocedures from MS SQL Server 2000 and 2005.I've created a simple stored procedure that has an output param thatis a cursor.When I ask for the metadata for that stored procedure using a JDBCdriver I get back a datatype value for my parameter specifying an intnot a result set.Here is my stored procedure:CREATE PROCEDURE xasp_INx_OUTcur_RETint@OutCrsr CURSOR VARYING OUTPUT ASSET @OutCrsr = CURSOR FORSELECT LASTNAME, FIRSTNAMEFROM CONTACTS2OPEN @OutCrsrRETURN 7Here is the java code:Connection conn = driver.connect(url, props);DatabaseMetaData dbMeta = conn.getMetaData();ResultSet columnRes = dbMeta.getProcedureColumns(cat, schem, name,"%");while (columnRes.next()){String procCat = columnRes.getString("PROCEDURE_CAT");String procSchem = columnRes.getString("PROCEDURE_SCHEM");String procName = columnRes.getString("PROCEDURE_NAME");String colName = columnRes.getString("COLUMN_NAME");short colType = columnRes.getShort("COLUMN_TYPE");short dataType = columnRes.getShort("DATA_TYPE");String typeName = columnRes.getString("TYPE_NAME");int precision = columnRes.getInt("PRECISION");// pass this info on to another method}The dataType is set to the type returned from the procedure not to thetype for the param.Am I doing something stupid here? Did I create my stored procedurewrong?Any help would be appreciated.Thanks.Jon
My configuration is as follows.I have a Linux MySQL server database on one box andI want to connect to it from a local Windows XP laptop.My application was developed using SunOneStudio.I have registered the DSN and tested the database connection via ODBCin Windows XP.It apparently connects from XP to the server.I have compiled two base classes and have a tester class whichcompiles except for the following compiler error:PathTesterOne.java [19:1] cannot resolve symbolsymbol : variable pathologlocation: class PathTesterOneConnection c = patholog.initialize();"patholog" is the Database Name on the Linux MYSQL server.the initialize method looks like this....// establish the database connectionpublic static void initialize(){aMenu = new MainMenu();try{ // load the jdbc - odbc bridge driver for WindowsClass.forName("com.mysql.jdbc.Driver");// create connection instanceaConnection = DriverManager.getConnection(url, "username","password");// create statement object instance for this connectionaStatement = aConnection.createStatement();}catch (ClassNotFoundException e){System.out.println(e);}catch (SQLException e){ System.out.println(e); }}// The Data Source name is "patholog"static String url = ("jdbc:mysql://192.168.1.101/test?user=jerald&password=wein3150");static Connection aConnection;static Statement aStatement;Why am I not able to connect to the database?I am not understanding what the source of the error may be.Thanks for any help
have a Java Class that I want to be able to access from within a SQL Server Stored procedure. I know we can access C# and other .NET Framework code, but how can you access a Java Class?
I want to call a stored procedure (SQL SErver 2000) from JAVA. The SP contains a temporary Table. At the end of the SP there is a Select like "Select * from #tmp".
Now I get no Resultset in my JAVA - Application. When i do a normal Select on an Table I get a Resultset.
I need the temp. Table in this SP. How can I get the Result in JAVA. It is urgent for me.
Hi.. We have a java application which connect to our MS-SQL DB during midnight using JDBC connector and extract information. But very often ,the java applicatian halted and because of the deadlock as shown below.
Caused by: java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]Transaction (Process ID 54) was deadlocked o n lock resources with another process and has been chosen as the deadlock victim.
now the java programmer is blaming me that the MS SQL DB is having deadlock and cause their Java application to hang.
Is there any way to clear the deadlock before the the Java applcation run or how to prove the Java application script itself is having problem and causing the deadlock ?
I am working on a hospital application using java programming language, i need to know how to connect two applications to one table over a network where the data read by application one can not be read by application 2 and vise versa...
I have a java compiled jar file, which accept the connection string as follows: -Uusername -Ppassword -Sservername:port
This string works fine with the default instance of SQL Server, I mean as long as you supply the name of the SQL Server as 'SQLServer', but if I want to run it against the named instance of SQL Server like 'SQLSERVERNamedInstance' then the connection is failing, giving me the unknown host error. Any idea why?
Hello,Does anyone know if SQL Server supports invoking Java methods from aStored Procedure or even a Trigger. For example, it looks like oracleprovides this capability based on the article athttp://www.cs.umbc.edu/help/oracle8...86/04_call2.htm. Itlooks like for a Trigger it uses a SP as an in-between. Any insightinto this would be greatly appreciated.Thanks,--Willard