"Server=" & ServerName & ";" & _
"Database=" & db & ";" & _
"UID=" & user & ";PWD=" & Password & ";"
OpenConnection.Open ConnectionString
我用如上ADO控件连SQL服务器时会出现如下错误:
〔DBNMPNTW〕ConnectionOpen(createfile())
当我访问服务器后就不会出错了,能正常连接。
17 个解决方案
#1
--用这个呢?
ConnectionString = "Provider=SQLOLEDB.1;Persist Security Info=True;User ID=用户名;Password=密码;Initial Catalog=数据库名;Data Source=SQL服务器名"
ConnectionString = "Provider=SQLOLEDB.1;Persist Security Info=True;User ID=用户名;Password=密码;Initial Catalog=数据库名;Data Source=SQL服务器名"
#2
如果还是有问题,尝试用下面的方法解决.
1.安装客户端,配置一下:
开始--程序--Microsoft SQL Server--客户端网络实用工具
--别名--添加
--网络库选择"tcp/ip"--服务器别名输入SQL服务器名
--连接参数--服务器名称中输入SQL服务器ip地址
--如果你修改了SQL的端口,取消选择"动态决定端口",并输入对应的端口号
1.安装客户端,配置一下:
开始--程序--Microsoft SQL Server--客户端网络实用工具
--别名--添加
--网络库选择"tcp/ip"--服务器别名输入SQL服务器名
--连接参数--服务器名称中输入SQL服务器ip地址
--如果你修改了SQL的端口,取消选择"动态决定端口",并输入对应的端口号
#3
2.安装最新的mdac2.8
Microsoft Data Access Components (MDAC) 2.8
http://download.microsoft.com/download/8/b/6/8b6198c0-fe96-4811-9d81-d5c76dd5fea8/MDAC_TYP.EXE
Microsoft Data Access Components (MDAC) 2.8
http://download.microsoft.com/download/8/b/6/8b6198c0-fe96-4811-9d81-d5c76dd5fea8/MDAC_TYP.EXE
#4
还是不行啊!
程序在本地电脑能正常运行,到了终端没访问服务器之前,就是不行啊!
但是有一点很奇怪,我把服务器与客户端的用户名与密码都设置成一样的就可以了。
难道你们都没有碰到吗?
程序在本地电脑能正常运行,到了终端没访问服务器之前,就是不行啊!
但是有一点很奇怪,我把服务器与客户端的用户名与密码都设置成一样的就可以了。
难道你们都没有碰到吗?
#5
在SQL的机器上将SQL的认证方式改成混合认证试试
#6
to 左手:
在SQL的机器上将SQL的认证方式改成混合认证试试
请问在哪改,能详细说明吗?
在SQL的机器上将SQL的认证方式改成混合认证试试
请问在哪改,能详细说明吗?
#7
方法1:
管理工具->服务->MSSQLSERVER->属性->启动->修改用户和密码或改为本地系统帐号
再重新启动服务。
方法2:在查询分析器中直接执行
xp_instance_regwrite N'HKEY_LOCAL_MACHINE', N'SOFTWARE\Microsoft\MSSQLServer\MSSQLServer', 'LoginMode', N'REG_DWORD', 2
即可
1---Windows认证模式
2---SQL和Windows认证模式
管理工具->服务->MSSQLSERVER->属性->启动->修改用户和密码或改为本地系统帐号
再重新启动服务。
方法2:在查询分析器中直接执行
xp_instance_regwrite N'HKEY_LOCAL_MACHINE', N'SOFTWARE\Microsoft\MSSQLServer\MSSQLServer', 'LoginMode', N'REG_DWORD', 2
即可
1---Windows认证模式
2---SQL和Windows认证模式
#8
你指是的身份验证吗?
我已经把它设为‘sql server和windows’身份验证
我已经把它设为‘sql server和windows’身份验证
#9
to 小马可:
那个服务我是已把它设为本地系统帐号。
对了,我还想问个问题:
ConnectionString = "Provider=SQLOLEDB;" & _
"Server=" & ServerName & ";" & _
"Database=" & db & ";" & _
"UID=" & user & ";PWD=" & Password & ";"
这里的用户uid应该是SQL用户对吗?
假如我把‘server=sql服务器ip地址’就可以连上,但我想用SQL服务器名来连就不行?
这个问题已经想了很久了,就是不知为什么?
那个服务我是已把它设为本地系统帐号。
对了,我还想问个问题:
ConnectionString = "Provider=SQLOLEDB;" & _
"Server=" & ServerName & ";" & _
"Database=" & db & ";" & _
"UID=" & user & ";PWD=" & Password & ";"
这里的用户uid应该是SQL用户对吗?
假如我把‘server=sql服务器ip地址’就可以连上,但我想用SQL服务器名来连就不行?
这个问题已经想了很久了,就是不知为什么?
#10
这是网络问题,用文件查找的方法,找到一个名叫"hosts"的文件名,用记事本打来,在里面有一个例子,是"127.0.0.1
#11
这是网络问题,用文件查找的方法,找到一个名叫"hosts"的文件名,用记事本打来,在里面有一个例子,是"127.0.0.1 本机名",此时,你依类似格式,另起一行将SQL服务器IP地址和SQL服务名字写进去,就可以了。
如:"192.168.0.1 SQL服务器名",
保存hosts文件。
如:"192.168.0.1 SQL服务器名",
保存hosts文件。
#12
服务器的数据库需要设制一下
改成通过 用户连(SA)
而不用NT方式
改成通过 用户连(SA)
而不用NT方式
#13
up up
#14
to 热狗:
127.0.0.1 localhost
100.10.140.43 server
是改成这样了吗?改了还是不行,我不明白为什么要这么改?
这应该不是网络问题吧。因为我试了好几台服务器都一样,
to 狂刀侠:
你说改成SA登入,你是指MSSQLSERVER服务的登入身份吗?
我如把它设成SA,它提示说无效的帐号,好像一定要windows帐号。
127.0.0.1 localhost
100.10.140.43 server
是改成这样了吗?改了还是不行,我不明白为什么要这么改?
这应该不是网络问题吧。因为我试了好几台服务器都一样,
to 狂刀侠:
你说改成SA登入,你是指MSSQLSERVER服务的登入身份吗?
我如把它设成SA,它提示说无效的帐号,好像一定要windows帐号。
#15
TO:雪儿
你改的是服务器还是客户机的hosts文件,要改的是客户机的哦。
另还有,你的服务器IP是100.10.140.43吗?你的网络有没有上公网?
你改的是服务器还是客户机的hosts文件,要改的是客户机的哦。
另还有,你的服务器IP是100.10.140.43吗?你的网络有没有上公网?
#16
to :Paul
改客户机的IP啊(你能告诉我这样改有什么作用吗?),这样子不是很不方便,客户机很多的。其实现在只是把我的电脑当服务器做试验,我电脑的IP是动态的(有上公网),等以后真的系统做起来就有一个专门的服务器也就有固定的IP了,算了,我就用IP地址吧,只是连接速度有所下降。
可能ADO控件做远程连接只能用IP地址连。也就是‘Data Source=SQL服务器IP地址’,而不能用服务器名。
改客户机的IP啊(你能告诉我这样改有什么作用吗?),这样子不是很不方便,客户机很多的。其实现在只是把我的电脑当服务器做试验,我电脑的IP是动态的(有上公网),等以后真的系统做起来就有一个专门的服务器也就有固定的IP了,算了,我就用IP地址吧,只是连接速度有所下降。
可能ADO控件做远程连接只能用IP地址连。也就是‘Data Source=SQL服务器IP地址’,而不能用服务器名。
#17
在客户机上用ODBC连一次,再用服务器名就通。
#1
--用这个呢?
ConnectionString = "Provider=SQLOLEDB.1;Persist Security Info=True;User ID=用户名;Password=密码;Initial Catalog=数据库名;Data Source=SQL服务器名"
ConnectionString = "Provider=SQLOLEDB.1;Persist Security Info=True;User ID=用户名;Password=密码;Initial Catalog=数据库名;Data Source=SQL服务器名"
#2
如果还是有问题,尝试用下面的方法解决.
1.安装客户端,配置一下:
开始--程序--Microsoft SQL Server--客户端网络实用工具
--别名--添加
--网络库选择"tcp/ip"--服务器别名输入SQL服务器名
--连接参数--服务器名称中输入SQL服务器ip地址
--如果你修改了SQL的端口,取消选择"动态决定端口",并输入对应的端口号
1.安装客户端,配置一下:
开始--程序--Microsoft SQL Server--客户端网络实用工具
--别名--添加
--网络库选择"tcp/ip"--服务器别名输入SQL服务器名
--连接参数--服务器名称中输入SQL服务器ip地址
--如果你修改了SQL的端口,取消选择"动态决定端口",并输入对应的端口号
#3
2.安装最新的mdac2.8
Microsoft Data Access Components (MDAC) 2.8
http://download.microsoft.com/download/8/b/6/8b6198c0-fe96-4811-9d81-d5c76dd5fea8/MDAC_TYP.EXE
Microsoft Data Access Components (MDAC) 2.8
http://download.microsoft.com/download/8/b/6/8b6198c0-fe96-4811-9d81-d5c76dd5fea8/MDAC_TYP.EXE
#4
还是不行啊!
程序在本地电脑能正常运行,到了终端没访问服务器之前,就是不行啊!
但是有一点很奇怪,我把服务器与客户端的用户名与密码都设置成一样的就可以了。
难道你们都没有碰到吗?
程序在本地电脑能正常运行,到了终端没访问服务器之前,就是不行啊!
但是有一点很奇怪,我把服务器与客户端的用户名与密码都设置成一样的就可以了。
难道你们都没有碰到吗?
#5
在SQL的机器上将SQL的认证方式改成混合认证试试
#6
to 左手:
在SQL的机器上将SQL的认证方式改成混合认证试试
请问在哪改,能详细说明吗?
在SQL的机器上将SQL的认证方式改成混合认证试试
请问在哪改,能详细说明吗?
#7
方法1:
管理工具->服务->MSSQLSERVER->属性->启动->修改用户和密码或改为本地系统帐号
再重新启动服务。
方法2:在查询分析器中直接执行
xp_instance_regwrite N'HKEY_LOCAL_MACHINE', N'SOFTWARE\Microsoft\MSSQLServer\MSSQLServer', 'LoginMode', N'REG_DWORD', 2
即可
1---Windows认证模式
2---SQL和Windows认证模式
管理工具->服务->MSSQLSERVER->属性->启动->修改用户和密码或改为本地系统帐号
再重新启动服务。
方法2:在查询分析器中直接执行
xp_instance_regwrite N'HKEY_LOCAL_MACHINE', N'SOFTWARE\Microsoft\MSSQLServer\MSSQLServer', 'LoginMode', N'REG_DWORD', 2
即可
1---Windows认证模式
2---SQL和Windows认证模式
#8
你指是的身份验证吗?
我已经把它设为‘sql server和windows’身份验证
我已经把它设为‘sql server和windows’身份验证
#9
to 小马可:
那个服务我是已把它设为本地系统帐号。
对了,我还想问个问题:
ConnectionString = "Provider=SQLOLEDB;" & _
"Server=" & ServerName & ";" & _
"Database=" & db & ";" & _
"UID=" & user & ";PWD=" & Password & ";"
这里的用户uid应该是SQL用户对吗?
假如我把‘server=sql服务器ip地址’就可以连上,但我想用SQL服务器名来连就不行?
这个问题已经想了很久了,就是不知为什么?
那个服务我是已把它设为本地系统帐号。
对了,我还想问个问题:
ConnectionString = "Provider=SQLOLEDB;" & _
"Server=" & ServerName & ";" & _
"Database=" & db & ";" & _
"UID=" & user & ";PWD=" & Password & ";"
这里的用户uid应该是SQL用户对吗?
假如我把‘server=sql服务器ip地址’就可以连上,但我想用SQL服务器名来连就不行?
这个问题已经想了很久了,就是不知为什么?
#10
这是网络问题,用文件查找的方法,找到一个名叫"hosts"的文件名,用记事本打来,在里面有一个例子,是"127.0.0.1
#11
这是网络问题,用文件查找的方法,找到一个名叫"hosts"的文件名,用记事本打来,在里面有一个例子,是"127.0.0.1 本机名",此时,你依类似格式,另起一行将SQL服务器IP地址和SQL服务名字写进去,就可以了。
如:"192.168.0.1 SQL服务器名",
保存hosts文件。
如:"192.168.0.1 SQL服务器名",
保存hosts文件。
#12
服务器的数据库需要设制一下
改成通过 用户连(SA)
而不用NT方式
改成通过 用户连(SA)
而不用NT方式
#13
up up
#14
to 热狗:
127.0.0.1 localhost
100.10.140.43 server
是改成这样了吗?改了还是不行,我不明白为什么要这么改?
这应该不是网络问题吧。因为我试了好几台服务器都一样,
to 狂刀侠:
你说改成SA登入,你是指MSSQLSERVER服务的登入身份吗?
我如把它设成SA,它提示说无效的帐号,好像一定要windows帐号。
127.0.0.1 localhost
100.10.140.43 server
是改成这样了吗?改了还是不行,我不明白为什么要这么改?
这应该不是网络问题吧。因为我试了好几台服务器都一样,
to 狂刀侠:
你说改成SA登入,你是指MSSQLSERVER服务的登入身份吗?
我如把它设成SA,它提示说无效的帐号,好像一定要windows帐号。
#15
TO:雪儿
你改的是服务器还是客户机的hosts文件,要改的是客户机的哦。
另还有,你的服务器IP是100.10.140.43吗?你的网络有没有上公网?
你改的是服务器还是客户机的hosts文件,要改的是客户机的哦。
另还有,你的服务器IP是100.10.140.43吗?你的网络有没有上公网?
#16
to :Paul
改客户机的IP啊(你能告诉我这样改有什么作用吗?),这样子不是很不方便,客户机很多的。其实现在只是把我的电脑当服务器做试验,我电脑的IP是动态的(有上公网),等以后真的系统做起来就有一个专门的服务器也就有固定的IP了,算了,我就用IP地址吧,只是连接速度有所下降。
可能ADO控件做远程连接只能用IP地址连。也就是‘Data Source=SQL服务器IP地址’,而不能用服务器名。
改客户机的IP啊(你能告诉我这样改有什么作用吗?),这样子不是很不方便,客户机很多的。其实现在只是把我的电脑当服务器做试验,我电脑的IP是动态的(有上公网),等以后真的系统做起来就有一个专门的服务器也就有固定的IP了,算了,我就用IP地址吧,只是连接速度有所下降。
可能ADO控件做远程连接只能用IP地址连。也就是‘Data Source=SQL服务器IP地址’,而不能用服务器名。
#17
在客户机上用ODBC连一次,再用服务器名就通。