如何调用其他数据库存取过程?急!

cm8983 2005-03-28 01:02:50
在查询分析器里下面的均可执行,有数据:
exec dbinformation.dbo.asp_zhyw_YE '2005/03/15'
exec dbinformation..asp_zhyw_YE '2005/03/15'
exec zakj.dbinformation.dbo.asp_zhyw_YE '2005/03/15'

在程序里执行没任何数据(下面的程序调用connectstring里的数据库中的存取过程没问题):
Dim sqlCM As New SqlCommand("dbinformation..asp_zhyw_YE", cnn)
Dim sqlDA As New SqlDataAdapter
Dim ds As New DataSet
Dim sqlCB As SqlCommandBuilder
Dim sqlPM As SqlParameter
sqlCM.CommandType = CommandType.StoredProcedure
......

Dim sqlCM As New SqlCommand("dbinformation..asp_zhyw_YE", cnn)这里该怎么写?
...全文
215 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
zlt982001 2005-03-30
  • 打赏
  • 举报
回复
'可以调用示例如下

'在 master 和 model 两个数据库中分别建立存储 test1 ,test2
'连接使用 无数据库连接
Dim cn As New SqlClient.SqlConnection("workstation id=SUPER;packet size=4096;user id=sa;data source=SUPER;persist security info=False")
Dim cmd As New SqlClient.SqlCommand
cn.Open()
cmd.Connection = cn
cmd.CommandText = "master.dbo.test1" '在master 中的 test1 存储
MsgBox(cmd.ExecuteScalar()) '从存储中返回内容

cmd.CommandText = "model.dbo.test2" '在model 中的 test2 存储
MsgBox(cmd.ExecuteScalar()) '从存储中返回内容

cn.Close()
cn.Dispose()
zlt982001 2005-03-30
  • 打赏
  • 举报
回复
晕, zipo(知其然,不知其所以然!) 干吗复制我的贴,只字未改
zipo 2005-03-30
  • 打赏
  • 举报
回复
Dim cn As New SqlClient.SqlConnection("workstation id=SUPER;packet size=4096;user id=sa;data source=SUPER;persist security info=False")
Dim cmd As New SqlClient.SqlCommand
cn.Open()
cmd.Connection = cn
cmd.CommandText = "master.dbo.test1" '在master 中的 test1 存储
MsgBox(cmd.ExecuteScalar()) '从存储中返回内容

cmd.CommandText = "model.dbo.test2" '在model 中的 test2 存储
MsgBox(cmd.ExecuteScalar()) '从存储中返回内容

cn.Close()
cn.Dispose()
BraveXu 2005-03-29
  • 打赏
  • 举报
回复
这个不是土不土的问题,是安全不安全的问题
在查询分析器中因为你是受信用户,连接其他库是可行的
在ASP.NET中不可能任何数据库都是可以连接的啦,那也太不安全了吧??
cm8983 2005-03-28
  • 打赏
  • 举报
回复
up
DeltaCat 2005-03-28
  • 打赏
  • 举报
回复
这样作:
在你自己的库里,建个 存储过程,比如 A
Create Procedure A
@inDate datetime
AS

EXEC dbinformation..asp_zhyw_YE @inDate

然后,在你程序里,这样调用:
Dim sqlCM As New SqlCommand("A", cnn)
.......
cm8983 2005-03-28
  • 打赏
  • 举报
回复
ding
cm8983 2005-03-28
  • 打赏
  • 举报
回复
up
cm8983 2005-03-28
  • 打赏
  • 举报
回复
To:BraveXu(鱼之乐)
是的,但是运行sql可以用"select * from dbname..tbname" 可以跑的,ASP.NET不会土到运行存储过程非要是cnn连接的数据库吧,晕!没人知道吗??
BraveXu 2005-03-28
  • 打赏
  • 举报
回复
问:Dim sqlCM As New SqlCommand("dbinformation..asp_zhyw_YE", cnn)这里该怎么写?

答:你的cnn是连接的A数据库,而存储过程连接的是B数据库吧,这样打开当然是有问题的了

你可以在定义一个cnn_others连接B数据库
cm8983 2005-03-28
  • 打赏
  • 举报
回复
up
cm8983 2005-03-28
  • 打赏
  • 举报
回复
up
to:blackhero(黑侠客) 文不对题.
blackhero 2005-03-28
  • 打赏
  • 举报
回复
string connstr=System.Configuration.ConfigurationSettings.AppSettings["sqllink"];
SqlConnection conn=new SqlConnection(connstr);

SqlCommand cmd = new SqlCommand("PRO_USRACT_ADDNEW",conn); //添加用户(PRO_USRACT_ADDNEW为存储过程的名字)
SqlCommand cmd1=new SqlCommand("PRO_ALMEVTTJ_INIT",conn); //执行存储过程(PRO_ALMEVTTJ_INIT)
SqlCommand cmd2=new SqlCommand("PRO_REG23MOD_INTOUSRACT",conn); //执行存储过程(PRO_REG23MOD_INTOUSRACT)
try
{
conn.Open();
cmd.CommandType = CommandType.StoredProcedure; //是存储过程
cmd1.CommandType=CommandType.StoredProcedure;
cmd2.CommandType=CommandType.StoredProcedure;

cmd.Parameters.Add("@ACTID",this.txtactid.Text.Trim()); //为命令行添加参数
cmd.Parameters.Add("@GRPID",this.txtgrpid.Text.Trim());
cmd.Parameters.Add("@MODNAME","");
cmd.Parameters.Add("@CONTACT_ID",this.DropDownList2.SelectedItem.Text.ToString());
cmd.Parameters.Add("@PNLTYPE",this.actidgrpid.Text.Trim());
cmd.Parameters.Add("@DEPARTMENT","");

cmd1.Parameters.Add("@ALMEVTTJ_N","");
cmd2.Parameters.Add("@ACTID",this.txtactid.Text.Trim());
cmd2.Parameters.Add("@MODNAME","");

cmd.ExecuteNonQuery(); //执行
cmd1.ExecuteNonQuery();
cmd2.ExecuteNonQuery();
}
catch(Exception ex)
{
Response.Write(ex.Message);
}
finally
{
conn.Close();
}
haoco 2005-03-28
  • 打赏
  • 举报
回复
up

62,052

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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