我在为Windows 7上的SQL Server创建ODBC数据源连接时遇到问题。MS SQL服务器:不能在Windows 7上连接ODBC?
问题摘要:只能为“主”数据库创建ODBC数据源连接,而不是为其他任意数据库创建连接。
我已经搜索了网络,并没有找到解决方案。以下是详细信息:
- 我在Windows 7 64位系统上安装了MS SQL Server。详细信息:SQLEXPRESS版本,版本:10.1.2531.0,版本:2007.100.2531.0,实例ID:MSSQL10.SQLEXPRESS。
使用“SQL Server配置管理器”,它说:
SQL Server(SQLEXPRESS) running我还建立了:“登录为:内置帐户 - >本地系统”。
使用“Microsoft SQL Server Management Studio”(版本10.0.1600.22)我已连接到数据库,并使用空白的用户名和密码。然后,我创建了一个名为“Test1”的新数据库,并指示创建的文件位于:“F:\ Data \ SQL Server \ Test1.sdf”。 我继续创建了几个(不重要的)表,填充了几行代码,并成功运行了几个查询 - 全部使用“Microsoft SQL Server Management Studio”。到现在为止还挺好。
但是,我需要使用ODBC连接从外部程序接口到数据库。 因此,使用“ODBC数据源管理员”(\%sysdir%\ SysWOW64 \ odbcad32.exe版本6.1.7600.16385)(64位),我试图创建一个数据源界面。这里是我的经历:(我叫dsn:“SYS_DB”):
3a。去“系统DNS” - >添加 - >“SQL Native Client 10.0”; (为司机);服务器:PLUTO \ SQLEXPRESS; “使用集成的Windows身份验证”; (所有其他选项:默认),当我按下“测试数据源”时,它会显示:
... ... Address PLUTO\SQLEXPRESS' was used to establish the connection. ... TESTS COMPLETED SUCCESSFULLY!(PLUTO是计算机名称)。
3b。问题是,我需要连接到“Test1”数据库,而不是默认的“主”数据库。
因此,在“ODBC数据源管理员”窗口的第三个窗口中,当我去时: - >将默认数据库更改为:Test1,我得到一个窗口说:
The database entered is not valid如果我去一个窗口,并取消选中:“连接到SQL Server以获取其他配置选项的设置”,然后检查:“附加数据库文件名”:F:\ Data \ SQL Server \ Test1.sdf(如我在上面的2.中所述),数据源测试失败:
Attempting connection [Microsoft][SQL Server Native Client 10.0][SQL Server] The header for file 'F:\Data\SQL Server\Test1.sdf' is not a valid database file header. The FILE SIZE property is incorrect.3c。尝试设置驱动程序时:“系统DNS” - >“添加” - >“SQL Server”; (而不是上面3a中的“SQL Native Client 10.0”),行为是相同的:连接到默认的“master”数据库时成功,尝试连接到“Test1”数据库时失败,错误消息与在3b中。以上。
- 注:当我走:“SQLCMD -L”,它说:
Servers: PLUTO PLUTO\SQLEXPRESS
我整个网络一派,还没有找到一个解决方案。您的帮助将不胜感激。
许多TIA - 海伦
更多信息(3-16):当我去:
>sqlcmd -S pluto\sqlexpress -Q "select getdate()" 2013-03-16 10:07:04.380 (1 rows affected)所以用默认的连接( “主”)数据库工作正常。
但是,当我去:
>sqlcmd -S pluto\sqlexpress -d Test1 -Q "select getdate()"
Msg 4060, Level 11, State 1, Server PLUTO\SQLEXPRESS, Line 1
Cannot open database "Test1" requested by the login. The login failed.
Msg 18456, Level 14, State 1, Server PLUTO\SQLEXPRESS, Line 1
Login failed for user 'PLUTO\MyUser'.
如此看来,这个问题是与用户权限/权限到该服务器上的新的数据库,即:“测试1”。
任何人都可以帮助如何检查/分配SQL Server上的特定数据库的权限?
许多TIA
海伦
请参阅[this](http://support.dataaccess.com/Forums/entry.php?126-I-Cannot-Connect-To-An-ODBC-Database)和[this](http:// support.microsoft.com/kb/942976)。我猜你的问题很小。 – omid 2013-03-16 13:19:07
@omid:这不是32位与64位的问题。因为:1.我使用的ODBC管理器是64位; 2.正如我在OP的3a中所提到的,当我连接到dsn的“master”数据库(它说:“测试已成功完成!”)时,ODBC管理器连接测试正常工作。尝试连接到同一SQL服务器上的另一个数据库(“Test1”)时弹出问题。 – 2013-03-16 15:52:52