以下是IT团队的指示,要求我将SAS连接到SQL Server数据库。
libname aa sqlsvr dsn=dms user=xx pass='yy' owner=dbo readbuff=30000;
libname aa slibref=aa server=host1 port
运行此命令时,我得到:
ERROR: The SQLSVR engine cannot be found.
ERROR: Error in the LIBNAME statement.
ERROR: Attempt to connect to server host1 failed.
ERROR: A communication subsystem partner link setup request failure has occurred.
ERROR: Cannot find TCP service 'host1'.
ERROR: Error in the LIBNAME statement.
我尝试使用host1作为服务器名称来建立ODBC连接,但是它说服务器不存在。
我做错了什么
答案 0 :(得分:1)
您可能尚未在Windows中将sqlsvr
设置为DSN。
从Start
菜单中找到“ ODBC数据源管理员”菜单项。这取决于您所运行的Windows版本,但是很有可能您只需单击Start
并键入'odbc',它就会显示出来。您很可能希望使用64位版本的ODBC管理器,如果遇到问题,可以尝试使用32位版本。
打开后,转到系统DSN,单击“添加”,从列表中选择SQL Server驱动程序,然后在向导中填写其余详细信息。在向导的最后,您可以选择测试配置。您必须能够成功连接此连接,然后才能使用SAS中的dsn=
语句。成功建立连接后,dsn=
语句应该可以正常工作。
第二个带有host1
和port
的语句不是到SQL Server的连接,因为SQL Server在其ODBC连接规范中不使用端口。在此输入时,它看起来也不完整,因此您可能需要仔细检查所提供的代码。