在 Windows 7 上为 SQL-Server 创建 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) 正在运行我还设置了:“登录身份:内置帐户->本地系统”。
使用“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 身份验证”;(所有其他选项:默认),当我按下:“测试数据源”时,它说:
... ... 地址 PLUTO\SQLEXPRESS' 用于建立连接。 ... 测试成功完成!(PLUTO 是计算机名称)。
3b。问题是,我需要连接到“Test1”数据库,而不是默认的“master”数据库。
因此,在“ODBC 数据源管理器”窗口的第三个窗口中,当我去:-> 将默认数据库更改为:Test1,我得到一个窗口说:
输入的数据库无效如果我返回一个窗口,并取消选中:“连接到 SQL Server 以获取其他配置选项的设置”,然后我检查:“附加数据库文件名”:F:\Data\SQL Server\Test1.sdf(就像我上面 2. 中提到),数据源测试失败并显示:
尝试连接 [微软][SQL Server Native Client 10.0][SQL Server] 文件“F:\Data\SQL Server\Test1.sdf”的标头不是有效的数据库文件标头。 文件大小属性不正确。3c。尝试设置驱动程序时:“系统DNS”->添加->“SQL Server”;(而不是上面 3a. 中的“SQL Native Client 10.0”),行为是相同的:连接到默认的“master”数据库时成功,尝试连接到“Test1”数据库时失败,错误消息与在 3b 中。以上。
- 注意:当我去:“SQLcmd -L”时,它说:
服务器: 冥王星 冥王星\SQLEXPRESS
我在整个网络上搜索过,但没有找到解决方案。您的帮助将不胜感激。
许多 TIA - 海伦
更多信息(3-16):我去的时候:
>sqlcmd -S pluto\sqlexpress -Q "选择getdate()" 2013-03-16 10:07:04.380(1 行受影响)因此与默认(“主”)数据库的连接工作正常。
但是当我去的时候:
>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'.
因此,问题似乎在于该服务器上新数据库的用户权限/访问权限,即:“Test1”。
任何人都可以帮助如何检查/分配权限到 SQL Server 上的特定数据库吗?
许多 TIA
海伦