Oracle 和SQL Server的通讯

JetGeng 2004-09-20 02:48:12
要求在oracle服务器中使用Java编写的存储过程去连接一个SQLServer数据库服务器并要得到相应的记录集返回给调用该存储过程的客户程序。现在我已经完成了连接到SQL Server数据库,并可以得到数据,单是现在我无法返回一个记录集到客户程序。你可以参考如下的资源。
http://www.oracle.com/technology//oramag/code/tips2002/021002.html(该文章实现了,连接到其他的数据库服务器,并返回了取得值。但是并不是返回的记录集)。
http://www.oracle.com/technology/sample_code/tech/java/codesnippet/jdbc/refcur/index.html(这个是我要的效果,但是他连的是数据库服务器是一个Oracle的。我想连的是Sql Server)。


...全文
131 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
dinya2003 2004-09-21
  • 打赏
  • 举报
回复
da.Fill(ds,"t");
这里就会把从表中得到的数据填充记录集.然后就可以对记录集进行处理了.
dinya2003 2004-09-21
  • 打赏
  • 举报
回复
JAVA不大懂,给你一个C#的例子参考一下,希望对你有帮助:

--在sql server中建过程:
CREATE PROCEDURE DINYA_TEST AS
BEGIN
SELECT * FROM T_USER
RETURN
END
GO

--当然数据库中要有表T_USER,测试表
--C#中:
using System.Data;
using System.Data.SqlClient;

private string connectsql="Data Source=roma113;Integrated Security=SSPI;Initial Catalog=roma_data";

private SqlConnection ConnectSqlServer()
{
SqlConnection connSql=new SqlConnection();
connSql.ConnectionString=connectsql;
connSql.Open();
return connSql;
}

private void button1_Click(object sender, System.EventArgs e)
{
DataSet ds=new DataSet();
SqlCommand cmd=new SqlCommand();
cmd.CommandText="DINYA_TEST";
cmd.CommandType=CommandType.StoredProcedure;
cmd.Connection=new Form1().ConnectSqlServer();

SqlDataAdapter da=new SqlDataAdapter(cmd);;

da.Fill(ds,"t");
MessageBox.Show(ds.Tables["t"].Rows[0][1].ToString());
}


--已经.net2003+sql server 2000中测试通过.

3,491

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧