连接到Sql Server数据库时,Java和C#有什么区别?

时间:2011-06-30 14:36:23

标签: c# java sql

我正在编写一个应用程序需要连接到sql server。我更喜欢用Java编写应用程序。但是当我尝试连接到服务器时,我得到了连接拒绝错误。我正在使用JTDS JDBC驱动程序。我认为这是由于1433或1434端口未打开。服务器在我的工作地点,我无法更改端口。但有趣的是,我使用c#写同样的东西,它连接成功。是因为C#库中的SqlConnection类与ms sql server一起工作得更好吗?或者我在这里做错了什么?仅供参考,我们在工作中使用的服务器是MS SERVER 2003。

抱歉,我之前没有提供任何代码。一个棘手的部分是我们拥有的服务器在本地网络上称为“SERVER”。

C#:

SqlConnection objConnection = new SqlConnection("Data Source= SERVER\\SQLEXPRESS;Initial Catalog=SSS;Persist Security Info=True;User ID=user;Password=pass"); 
SqlCommand objcommand = new SqlCommand();
string strSQL;
objcommand.Connection = objConnection;
strSQL = "select * from company where companyid = @companyID ";
try
{
 objConnection.Open();
 SqlDataReader Query = objcommand.ExecuteReader();
            while (Query.Read())
            {
                MessageBox.Show(Convert.ToString(Query["clientRef"]));

            }
            objConnection.Close();
        }
        catch (Exception ex)
        {
            MessageBox.Show("Error Retreiving info: " + ex.ToString(), "Application Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            objConnection.Close();
        }

因为我对C#并不熟悉。我从其中一所大学得到了上面的代码。并且它正确地返回信息。

爪哇:

try{
Connection connection;
Class.forName("net.sourceforge.jtds.jdbc.Driver");
connection = DriverManager.getConnection("jdbc:jtds:sqlserver://network.local/SERVER\\SQLEXPRESS:1433/SSS","user","pass"); 
System.out.println("Connection succeed!"); 
}
catch (Exception e) {
e.printStackTrace(); 
}

上面的java代码有网络错误IOException:连接被拒绝错误。 仅供参考:我可以成功ping通server.network.local。但是当我telnet server.network.local 1433/1434时,我得到了telnet:无法连接到远程主机:连接被拒绝。

3 个答案:

答案 0 :(得分:3)

检查.NET应用的连接方式。它可能就像使用命名管道一样简单,JTDS也支持它。

答案 1 :(得分:0)

可能是默认值不同,您是在初始化驱动程序时设置端口

jdbc:jtds:<server_type>://<server>[:<port>][/<database>][;<property>=<value>[;...]]

像这样jdbc:jtds:sqlserver://nameofyourdatabaseserver.or.ipaddress:port/yourdatabasename

尝试使用服务器的完整DNS名称或IP地址

答案 2 :(得分:0)

在以下链接中,您将找到一个有用的教程,详细描述如何连接到MS SQLServer数据库,来自Java和C#。它还描述了如何查询数据库,传递和检索数据等等。希望您觉得它很有用:http://www.shahriarnk.com/Shahriar-N-K-Research-Embedding-SQL-in-C-Sharp-Java.html