在sql server2005新建一个链接服务器 如 ser11.
  然后执行如下语句: select * from ser11.database.dbo.admin
  可以返回该表的数据.  在执行更新语句时: update ser11.database.dbo.admin 
                 set 字段1=值1  则提示如下:
[OLE/DB provider returned message: 多步 OLE DB 操作产生错误。如果可能,请检查每个 OLE DB 状态值。没有工作被完成。]
消息 7306,级别 16,状态 2,第 1 行
未能打开表 '"database"."dbo"."admin"'(来自 OLE DB 提供程序 'SQLOLEDB')。 提供程序未能支持行查找位置。 提供程序指出与其它属性或要求发生了冲突。

解决方案 »

  1.   

    同样的更新语句在sql server2000下可以执行成功的.
      难道sql server2005不支持? 还是哪里的设置没有设好.
      

  2.   

    看看是不是没有权限操作,或者重新启动SQL查询分析器。。
      

  3.   

    sql server2000与sql server 2005装在同一台机器上.
      链接服务器也是指向本机的数据库的.
      

  4.   

    请教:
       我用ASP.NET来连接SQL SERVER 2005
       连接不成功,不知道为什么?
       我的操作系统是:企业版WINDOWS SERVER 2003
           数据库系统是:企业版SQL SERVER 2005
       
     代码如下:        <%@ Import Namespace = "System.Data.SqlClient" %>
    <script language="c#" runat="server">
    void sql1_onClick(Object source,EventArgs e){
     string str1="Persist Security Info = false;database = project;user id = aspnetname;password = 123456";
     SqlConnection mycon=new SqlConnection(str1);
        mycon.Open();
        show1.Text="连接成功!"; 
        mycon.Close();
        show2.Text="关闭连接!";
      }
    </script>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>Connection对象连接数据库</title>
    </head>
    <body>
    <h3>Connection对象连接数据库</h3>
    <form runat="server">
    <asp:Button id="sql_button1" text="测试连接数据库" runat="server" onClick="sql1_onClick"/><br>
    <asp:Label id="show1" runat="server"/><br>
    <asp:Label id="show2" runat="server"/>
    </form>
    </body>
    </html>测试后的结果!想了好久,都解决不了?
    “/sql server2005”应用程序中的服务器错误。
    --------------------------------------------------------------------------------SQL Server 不存在或访问被拒绝。 
    说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.SqlClient.SqlException: SQL Server 不存在或访问被拒绝。源错误: 生成此未处理异常的源代码只能在调试模式中进行编译时显示。若要启用该功能,请执行以下步骤之一,然后请求 URL:1. 在生成错误的文件的顶部添加一个“Debug=true”指令。示例:  <%@ Page Language="C#" Debug="true" %>或者:2. 将以下节添加到应用程序的配置文件中:<configuration>
       <system.web>
           <compilation debug="true"/>
       </system.web>
    </configuration>请注意,第二种方法将使给定应用程序中的所有文件在调试模式下进行编译。第一种方法只使特定文件在调试模式下进行编译。重要事项:以调试模式运行应用程序肯定会引起内存/性能系统开销。在部署到产品方案中之前,应该确保应用程序已禁用调试。  堆栈跟踪: 
    [SqlException: SQL Server 不存在或访问被拒绝。]
       System.Data.SqlClient.ConnectionPool.CreateConnection() +402
       System.Data.SqlClient.ConnectionPool.UserCreateRequest() +147
       System.Data.SqlClient.ConnectionPool.GetConnection(Boolean& isInTransaction) +384
       System.Data.SqlClient.SqlConnectionPoolManager.GetPooledConnection(SqlConnectionString options, Boolean& isInTransaction) +372
       System.Data.SqlClient.SqlConnection.Open() +384
       ASP.aspnetsql1_aspx.sql1_onClick(Object source, EventArgs e) +42
       System.Web.UI.WebControls.Button.OnClick(EventArgs e) +108
       System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +57
       System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +18
       System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +33
       System.Web.UI.Page.ProcessRequestMain() +1292