我在網上查閱過很多相關資料,問題還是未解決,不過我覺得很可能是權限問題,使用windows xp似乎有OLE方面的權限設置問題的?因我用localhost訪問就沒有任何問題,但一用線上IP訪問有資料庫連接的頁面就出錯,以前在windows 2000下就不會.

解决方案 »

  1.   

    >>>但一用線上IP訪問有資料庫連接的頁面就出錯,言外之意,用户访问没有涉及数据库的页面就没有问题么?XP是有连接数限制的,你有没有及时释放连接?网络应用,最好还是用2000去IE菜单->工具->Internet选项->高级页,去除“显示友好HTTP错误信息”的勾,
    再试,看具体是什么错误,或者去控制面板->管理工具->事件查看器,有无相关的
    详细错误信息另把你的数据库连接字符串写出来给我们看看,一般情形下,你应该用跟下列类似的字符串,
    "Data Source=Aron1;Initial Catalog=pubs;User Id=sa;Password=asdasd;" 参考
    http://www.connectionstrings.com/
      

  2.   

    用这样的连接字符串:
    "Data Source=Aron1;Initial Catalog=pubs;User Id=sa;Password=asdasd;" 
    我的开始也不行我换成这个连接字符串就行了
      

  3.   

    看看你安装的SQL Server有没有实例名。例如,如果他是“MyServer”这样就是没有实例名。“MyServer\DB_1”这样就是有实例名。如果有实例名,在IP之后要把实例名写上去呀!例如“127.10.39.48\DB_1”。或者,重装你的SQL Server,注意设置参数中不要设置实例名,这样就比较容易访问。
      

  4.   

    使用IIS 虚拟目录管理实用工具检查虚拟目录属性安全性选项里登录的选项选项
    总是用此身份登录Windows 和 SQL Server 帐户类型映射到 IIS 身份验证安全性的匿名访问方案。使用匿名访问,任何人都可以访问虚拟目录。访问服务器的每个人都使用"用户名"和"密码"中指定的凭据登录。 用户名 
    指定用于登录的用户名。如果选择 SQL Server 帐户类型,则所指定的帐户名必须是有效的 Microsoft SQL Server 2000 登录。如果选择 Windows 帐户类型,则所提供的 Microsoft Windows® 登录将用于所有用户。密码 
    指定用于选择的SQL Server 或 Windows 登录的密码。SQL Server 
    选择该选项以指定用于访问服务器的 SQL Server 登录名和密码。当指定一个 SQL Server 登录时,虚拟目录中的所有用户都将使用该帐户。Windows 
    选择该选项为虚拟目录的所有用户指定一个 Windows 帐户。默认情况下,使用 IUSR_ServerName(Internet Guest 帐户)访问服务器。IUSR_ServerName 是在安装 IIS 时创建的用户。默认情况下,"启用 Windows 帐户同步"是选中的。 
    使用 Windows 集成身份验证选择该选项以使用 Windows 登录进行身份验证。该选项映射到 Microsoft Windows NT; 质询/响应 (Windows NT 4.0) 或 Windows 集成身份验证 (Microsoft Windows 2000) IIS 身份验证方法。具有有效的 Windows NT 4.0 或 Windows 2000 用户帐户的用户经过身份验证并被允许访问虚拟目录。Windows 集成身份验证要求授予 Windows 用户帐户访问 SQL Server 的权限。使用对 SQL Server 帐户的基本身份验证(明文)选择该选项,可以通过提示用户输入 SQL Server 登录和密码以进行验证身份。该选项不同于 IIS 身份验证安全性的基本身份验证方法。选择该选项,系统会提示用户输入 SQL Server 登录和密码。在该身份验证选项中,在 IIS 内启用匿名身份验证。用户所提供的登录必须是有效的 SQL Server 登录。因此,当您试图访问数据库时,ISAPI 会首先尝试匿名访问,而当匿名访问失败时,系统会将一条错误信息发送给浏览器。然后,浏览器显示一个对话框,要求用户输入 SQL Server 的用户名和密码
      

  5.   

    這是我的conn.asp:<%'-- conn.asp --strSQLServerName = "(local)"
    strSQLDBUserName = "sa"
    strSQLDBPassword = "123456"
    strSQLDBName = "testdb"Set conn = Server.CreateObject("ADODB.Connection")
    strCon = "Provider=SQLOLEDB;Server=" & strSQLServerName & ";User ID=" & strSQLDBUserName & ";Password=" & strSQLDBPassword & ";Database=" & strSQLDBName & ";"
    conn.Open strCon
    set rs = Server.CreateObject("ADODB.RecordSet")%>
      

  6.   

    安装SQL客户端,然后做配置.开始--程序--Microsoft SQL Server--客户端网络实用工具
    --别名--添加
    --网络库选择"tcp/ip"--服务器别名输入SQL服务器名
    --连接参数--服务器名称中输入SQL服务器ip地址
    --如果你修改了SQL的端口,取消选择"动态决定端口",并输入对应的端口号
      

  7.   

    然后访问的时候,就用:
    服务器别名输入SQL服务器名那个别名来访问.
      

  8.   

    跟別名有關嗎?但我用localhost訪問沒有任何問題的,就像
    http://localhost/test/index.asp但一用線上IP如:
    http://218.19.216.188/test/index.asp就發生問題,有會顯示這樣的出錯資訊:錯誤類型:
    伺服器物件, ASP 0177 (0x800401F3)
    無效的類別字串 
    /csmap2/conn.asp, line 6說這句出錯:
    conn.Open strConP.S.各種連接字串我也試過,沒有效果真是百思不得其解了......
      

  9.   

    跟別名有關嗎?但我用localhost訪問沒有任何問題的,就像
    http://localhost/test/index.asp但一用線上IP如:
    http://218.19.216.188/test/index.asp就發生問題,有時會顯示這樣的出錯資訊:錯誤類型:
    伺服器物件, ASP 0177 (0x800401F3)
    無效的類別字串 
    /test/conn.asp, line 6說這句出錯:
    conn.Open strConP.S.各種連接字串我也試過,沒有效果真是百思不得其解了......