我的DELPHI程序使用如下代码连接: try
password := '111111';
user := '111111';
server := 'aaa-PC\SQLEXPRESS';
//server := 'aaa-PC';
database := 'ddddd'; conSQLstr := 'Provider=SQLOLEDB.1; Password='+Password+';Persist Security Info=True;User Id= '+user+ ';Data Source= '+server+ ';Initial Catalog= '+database+ ';';
conSQL := TADOConnection.Create(nil);
conSQL.ConnectionString := conSQLStr;
conSQL.Open; result := true;
SQLConnectioned := true;
except
result := false;
SQLConnectioned := false;
end;但,在客户端上运行,连接不上SQL SERVER,而必须在WINDOWS 的 ODBC数据源管理器 里添加上一个 DSN 才能连上?为什么添加上,成功连上,以后,将这个DSN删除掉程序又是正常可以连接的?我的目的是,用户无须手动添加 DSN,可行吗?谢谢
password := '111111';
user := '111111';
server := 'aaa-PC\SQLEXPRESS';
//server := 'aaa-PC';
database := 'ddddd'; conSQLstr := 'Provider=SQLOLEDB.1; Password='+Password+';Persist Security Info=True;User Id= '+user+ ';Data Source= '+server+ ';Initial Catalog= '+database+ ';';
conSQL := TADOConnection.Create(nil);
conSQL.ConnectionString := conSQLStr;
conSQL.Open; result := true;
SQLConnectioned := true;
except
result := false;
SQLConnectioned := false;
end;但,在客户端上运行,连接不上SQL SERVER,而必须在WINDOWS 的 ODBC数据源管理器 里添加上一个 DSN 才能连上?为什么添加上,成功连上,以后,将这个DSN删除掉程序又是正常可以连接的?我的目的是,用户无须手动添加 DSN,可行吗?谢谢
2、选择“提供程序”选项卡,再选择其中的“Microsoft OLE Provider for SQL Server”,然后“下一步”。
3、在“连接”选项卡下,输入SQL Server数据库服务器名(即: aaa-PC\SQLEXPRESS)与登录密码。再在下面的下拉列表中,选择你要连接的数据库。
4、点击“确定”
5、用“记事本”打开上述.udl文件,将其中的“Provider=SQLOLEDB.1;Persist Security。。”赋值给conSQL.ConnectionString 就行了。至此,你的目的达到了:用户无须手动添加 DSN 。最后,建议你不要指定SQL Server数据库服务器名称,而改用(local),因为将你开发的程序安装到别的机器上时,默认的SQL Server数据库服务器名称跟你开发时所用的机器上的名称不同,这样又会出现无法连接数据库的错误。
1、SQL Server的登录方式:改为SQL Server方式,而不要用Windows NT 认准方式。
2、关闭防火墙。