【问题标题】:Classic ASP Remote SQL Connection String经典 ASP 远程 SQL 连接字符串
【发布时间】:2011-08-19 15:28:56
【问题描述】:

我遇到了一个让我完全困惑的两难境地……

我们有一个经典的 ASP 站点,它已经运行了大约一年,它通过本地 Win2008 SQL 数据库提供支持(SQL Express 引擎与 IIS 在同一台服务器上)。这是我们目前使用的连接字符串

Provider=SQLNCLI10;Server=SERVERNAME\SQLEXPRESS;Database=dbname;user id=username;password=password;

我们现在需要将数据库移动到专用的数据库服务器,并远程连接到它 - 我们在服务器上恢复了数据库,并检查了一切正常(所有数据都存在于所有表中)

因此我们将服务器名称更改为IP地址,但无法使其连接,最终我们可以使其连接的唯一方法是使用此连接字符串。

driver={SQL Server Native Client 10.0};server=IPADDRESS\SQLEXPRESS,1433;uid=user;pwd=password;database=dbname;

但是...现在它在前端和后端随机丢失产品名称、SKU 和价格,即使数据库中存在数据而且速度真的很慢 显示网页?如果我在本地使用与以前的连接字符串相同的数据库,它很好并且所有数据都出现了?

我知道这个数据库服务器很好,因为它通过远程连接为其他 ASP.NET 站点提供动力,而且它们的连接速度非常快?

关于为什么这个新的连接字符串会导致从 DB 读取数据出现问题的任何提示或帮助???

【问题讨论】:

  • 也许您应该更新此 Web 服务器上的本机客户端?不过,“随机缺少产品名称”听起来不像是驱动程序问题。
  • 是否有其他特定的经典 ASP 连接字符串用于连接到远程数据库?
  • 请看我更新的答案。

标签: sql-server-2008 asp-classic database-connection connection-string


【解决方案1】:

要将 Web 服务器上的本机客户端更新到最新的公共版本,请转到此处:

http://support.microsoft.com/hotfix/KBHotfix.aspx?kbnum=2567714

如果您的 Web 服务器是 X86 计算机,请选中“2008R2_SP1_SNAC_CU2_2567714_10_50_2772_x86”复选框,如果是 64 位计算机,请选中“2008R2_SP1_SNAC_CU2_2567714_10_50_2772_x64”复选框。输入您的电子邮件地址,填写验证码,点击“请求修补程序”,下载链接将通过电子邮件发送给您。将其下载到 Web 服务器,运行安装程序(使用电子邮件中发送给您的密码)并重新启动 Web 服务器。现在再次尝试原来的连接字符串。

编辑

添加我过去使用过的一些其他示例连接字符串(自 90 年代以来,我一直是一个经典的 ASP 人,在 aspfaq.com 上创建和编写了 95% 的内容,包括 this article on connection strings)。根据对原始问题的评论中的要求。

请注意,“srv”可以是 IP 地址,或localhost,或servername,或.,后面可以是\INSTANCE_NAME(例如\SQLEXPRESS)。我会按此顺序尝试它们,并注意参数名称和值 - 您似乎将现代参数名称(例如提供程序)与不太现代的参数名称(例如数据库)混合在一起。

Provider=SQLNCLI10;Data Source=srv;Initial Catalog=db;User ID=user;Password=pwd;

Provider=SQLOLEDB.1;Data Source=srv;Initial Catalog=db;User ID=user;Password=pwd;

Provider=SQLOLEDB;Data Source=srv;Initial Catalog=db;User ID=user;Password=pwd;

Driver={SQL Server};Server=srv;Database=db;UID=user;PWD=pwd;

有时,如果您遇到命名管道或共享内存的问题,可以通过添加以下参数来帮助强制执行 TCP/IP:

NETWORK=DBMSSOCN;

您可以通过Carl Prothman's siteConnectionStrings.com 获得更多信息。由于显而易见的原因,它们不再专门迎合经典 ASP,但您仍然可以从它们为其他语言提供的示例中收集大量信息。

【讨论】:

  • 它是全新安装的 Win2008 R2,在 DB 服务器上具有高级服务?所以你的意思是更新网站所在的服务器?
  • 是的,Web 服务器可能没有用于连接 SQL Server 的最新客户端组件。
  • 谢谢 我一直在尝试下载它,但该网站似乎有问题!我稍后会继续尝试 - 希望这是问题所在。
  • 什么是“问题”?我刚下载了hotfix文件没问题。
猜你喜欢
  • 1970-01-01
  • 2015-09-01
  • 1970-01-01
  • 2012-05-06
  • 2010-09-25
  • 1970-01-01
  • 1970-01-01
  • 2017-06-22
  • 1970-01-01
相关资源
最近更新 更多