ODBC能够连接,调用ODBC时却无法连接数据库

时间:2022-08-22 21:53:00
一个已经固定的程序,是使用ODBC连接数据库
现在我建立了一个ODBC连接,数据库是SQL SERVER 2008,在建立ODBC时,测试是完全成功的,用户名是sa,然后程序中调用ODBC连接数据库时,会报错:
[Microsoft][ODBC SQL Server Driver][SQL Server]用户'' 登录失败。
看起来像是用空用户名去登录一样

请问是由什么原因引起的,要怎么修改呢?

16 个解决方案

#1


config里面设置。
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="connStr" value="data source=CORONABOOK;uid=sa;pwd=sa;database=数据库名"></add>
</appSettings>
</configuration>

#2


是一个已经固定的写死的程序,我没得地方改配置,唯一能改的就是ODBC的名字……

#3


ODBC不是很懂。学习一下。

#4


是不是需要创建程序中使用的用户和密码啊。。

#5


检查一下大小写,是否有空格

#6


"server=IP;database=数据库名;user id=登录名;password=密码"

#7


不好意思错了。
ODBC的是
"Driver={SQL Server};server=IP;uid=用户名;pwd=密码;database=数据库名;");

#8


修改登录用户属性,修改密码,通过SQL Server身份验证。
配置相关属性
ODBC很少使用,一般都通过连接字符串

#9


"Driver={SQL Server};Server=A;Database=pubs;Uid=sa;Pwd=sa;"

#10


数据源 (ODBC) => 创建Dns

connectString = "DNS=DnsName; uis=sa; pwd=yourPassword";

#11


odbc用得少。

#12


谢谢各位热心回答,不过好像都没看清楚我的问题
现在我有一个程序,我是不允许修改的,然后程序在启动的时候,要我指定一个ODBC的名字,用于连接数据库
ODBC在控制面板->管理工具->数据源(ODBC)里面设置的,设置好了,我把那个名字填写到程序里面就好,根本不需要设置连接字符串什么的,就算我想用连接字符串也没得地方改……

现在我设置了一个系统DSN,在设置的时候,测试连接数据库是可以的,但是,把ODBC的名字写到程序中后,程序显示,连接数据库出错,“用户''登录失败”

#13


那要改程序的
连接字符串 要指定你的dsn的名称 例如"DSN=XXXX;DRIVER=(Microsoft ODBC for Oracle);Uid=XXX; Pwd=XXX”

#14


该回复于2009-08-16 09:58:19被版主删除

#15


[img=D:\1.jgp][/img]
看看你的用户名跟密码对不对。

#16


在管理工具-数据源(ODBC)-系统DSN

#1


config里面设置。
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="connStr" value="data source=CORONABOOK;uid=sa;pwd=sa;database=数据库名"></add>
</appSettings>
</configuration>

#2


是一个已经固定的写死的程序,我没得地方改配置,唯一能改的就是ODBC的名字……

#3


ODBC不是很懂。学习一下。

#4


是不是需要创建程序中使用的用户和密码啊。。

#5


检查一下大小写,是否有空格

#6


"server=IP;database=数据库名;user id=登录名;password=密码"

#7


不好意思错了。
ODBC的是
"Driver={SQL Server};server=IP;uid=用户名;pwd=密码;database=数据库名;");

#8


修改登录用户属性,修改密码,通过SQL Server身份验证。
配置相关属性
ODBC很少使用,一般都通过连接字符串

#9


"Driver={SQL Server};Server=A;Database=pubs;Uid=sa;Pwd=sa;"

#10


数据源 (ODBC) => 创建Dns

connectString = "DNS=DnsName; uis=sa; pwd=yourPassword";

#11


odbc用得少。

#12


谢谢各位热心回答,不过好像都没看清楚我的问题
现在我有一个程序,我是不允许修改的,然后程序在启动的时候,要我指定一个ODBC的名字,用于连接数据库
ODBC在控制面板->管理工具->数据源(ODBC)里面设置的,设置好了,我把那个名字填写到程序里面就好,根本不需要设置连接字符串什么的,就算我想用连接字符串也没得地方改……

现在我设置了一个系统DSN,在设置的时候,测试连接数据库是可以的,但是,把ODBC的名字写到程序中后,程序显示,连接数据库出错,“用户''登录失败”

#13


那要改程序的
连接字符串 要指定你的dsn的名称 例如"DSN=XXXX;DRIVER=(Microsoft ODBC for Oracle);Uid=XXX; Pwd=XXX”

#14


该回复于2009-08-16 09:58:19被版主删除

#15


[img=D:\1.jgp][/img]
看看你的用户名跟密码对不对。

#16


在管理工具-数据源(ODBC)-系统DSN