2013-02-06 22 views
0

我想让旧的VB6应用程序运行,以便我可以看到它是如何工作的并在MVC Web应用程序中复制它的功能。为了让它运行,我必须创建一个测试数据库。为了获得所有数据,我从当前数据库恢复了一个备份,所以它是应用程序当前运行的环境的一个精确副本。为了使这项工作成功,我想我不得不更新连接字符串,但是每一个一次,我尝试运行它,我得到了错误:“[DNETLIB] [ConnecionOpen(连接()] SQL Server不存在或拒绝访问” VB6 SQL连接字符串设置问题

我现在的连接字符串是:

Set Cn = New ADODB.Connection 
Cn.Open _ 
    "Provider=SQLOLEDB;" & _ 
    "Data Source=WIN-HO6SNPJR0ST\TestDB;" & _ 
    "Initial Catalog=TestDB;" & _ 
    "UID=Test;" & _ 
    "PWD=test;" 

用户“测试”对数据库有完全的管理权限

我在VB6中进行所有调试,所以我不熟悉第e IDE,所以我可能会在寻找更简单的方法来解决问题,而不是断点。

任何帮助表示赞赏。

+0

您确定需要数据源的单引号吗? – Oded

+0

@Oded我只是试着没有引号,并得到了同样的错误。我的所有经验都是使用C#和Java。这就是为什么我认为我只需要输入错误的原因。 –

+0

查看http://connectionstrings.com - 查找您的数据库和oledb提供程序。 – Oded

回答

1

首先,您不太清楚您是否可以连接桌面。要做到这一点,使用统一数据链接(我认为这就是所谓的)功能。

按照this article的指示,它会确保您甚至可以从您的PC连接。一旦你可以连接,它会给你确切的连接字符串,你可以在你的VB应用程序中使用。

+0

感谢您的帮助。我完全按照说明操作,并且仍然发生相同的错误。 –

+0

@Danger_Fox然后你可能会遇到更大的问题。你能安装SSMS并尝试从那里连接吗?另外,你的服务器名称似乎很腥。你有一个名为TestDB的数据库,你的实例也称为TestDB? – AngryHacker

+0

当谈到设置这些东西时,我是新手。实例和数据库命名相同会导致任何问题吗? –

0

我会检查,看看是否WIN-HO6SNPJR0ST \ TESTDB已启用了TCP/IP进行远程连接ANS还检查WIN-HO6SNPJR0ST防火墙,它是允许访问端口1433(默认SQL端口)

RGDS

J.