ADOMDConnection连接字符串与AnalysisService服务器配置
转自:http://hi.baidu.com/zpylh_hust/blog/item/8d4ac68b85498b789e2fb496.html
ADOMDConnection对象:
此Connection和ADO以及ADO.NET的很类似,主要负责与目标库的连接.但是有一个比较不同的地方,就是从这个对象众可以获得连接到的数据库下的所有立方体和维度的信息,这一点与我们通常连接数据库的对象有不同,记得看过nbear的代码读取一个数据库下的库表结构都是取自系统表,而无法从Connection对象直接获得.
连接字符串,大体可以参照如下的格式:
[Analysis Service 2005版本]
Provider=MSOLAP.3;Integrated Security=SSPI;Persist Security Info=True;Initial Catalog=Adventure Works DW;Data Source=http://127.0.0.1
[Analysis Service 2000版本]
Provider=MSOLAP;Initial Catalog=Food Mart 2000;Data Source=http://127.0.0.1
Sqlserver2005 中的analysis services支持两种数据库连接方式
(1)windows验证方式(形如"Data Source=limj;Catalog=Analysis Services Tutorial;ConnectTo=9.0;Integrated Security=SSPI");
(2)http验证方式(形如"Provider=MSOLAP;User ID=administrator;Password=119;Persist Security Info=True;Initial Catalog=DataCenterDW;Data Source=http://limj/olap/msmdpump.dll")
下面我就说明一下这种方式在window2003 server上的配置过程。(以下文章来源于微软MSDN)
概述
Microsoft® SQL Server™ 2005 Analysis Services 与 SQL Server 2000 Analysis Services 使用相同的体系结构提供 HTTP 访问。
泵组件被加载到 IIS(Internet 信息服务)并作为 ISAPI 扩展,在客户端和 Analysis Services 服务器间传送数据。
本白皮书介绍使用 Microsoft Windows Server™ 2003 SP1 设置对 Analysis Services 的 HTTP 访问的全过程。
获取二进制数据
获取二进制数据:
将 %Installation folder%\OLAP\bin\isapi 目录的内容复制到要用作 IIS 中虚拟目录基础的文件夹。
本例中,我们将把 C:\Program Files\Microsoft SQL Server\MSSQL.1\OLAP\bin\isapi 文件夹中的所有文件复制到 C:\inetpub\wwwroot\olap 目录中。
注意: 为使用全部安全设置,请确保作为虚拟目录基础的文件夹位于格式化为 NTFS 文件系统的驱动器上,这一点非常重要。 由于 IIS 的限制,指向目录的路径不能包含空格。 |
如果要在不同于 Analysis Services 服务器的其他服务器上运行 HTTP 泵,请确保同时为 Analysis Redistributable 数据包安装 OLEDB。
创建应用程序库
创建应用程序库:
1. |
要打开“计算机管理”控制台,请依次打开“控制面板”、“管理工具”及“计算机管理”。 (或者,右键单击“我的电脑”图标,然后在快捷菜单上选择管理。) |
2. |
在“计算机管理”控制台中,依次展开“服务和应用程序”节点和“Internet 信息服务”节点。 如果无法找到“Internet 信息服务”节点,可能是因为您的计算机上尚未安装 IIS。如需安装,请在“控制面板”中打开“添加或删除程序”。选择添加/删除 Windows 组件。然后将 IIS 添加到 Windows 中。 |
3. |
右键单击“应用程序池”打开快捷菜单,选择“新建”,然后再选择应用程序池。 |
4. |
指定应用程序池的名称。本例中,我们将它命名为 OLAP。(参见图 2。) |
创建虚拟目录
创建虚拟目录:
1. |
要打开“计算机管理”控制台,请依次打开“控制面板”、“管理工具”及“计算机管理”。 (或者,右键单击“我的电脑”图标,然后在快捷菜单上选择管理。) |
2. |
在“计算机管理”控制台中,依次展开“服务和应用程序”节点和“Internet 信息服务”节点。 如果无法找到“Internet 信息服务”节点,可能是因为您的计算机上尚未安装 IIS。如需安装,请在“控制面板”中打开“添加或删除程序”。选择添加/删除 Windows 组件。然后将 IIS 添加到 Windows 中。 |
3. |
右键单击“网站”打开快捷菜单,选择新建,然后选择虚拟目录。 |
4. |
指定虚拟目录的名称。本例中,我们将它命名为 OLAP。 “内容目录”应指向您刚才创建的文件夹。本例中指向 C:\inetpub\wwroot\olap。 |
5. |
请确保在访问权限下只选中第二个复选框运行脚本(如 ASP)。(参见图 3。) |
设置虚拟目录属性
设置虚拟目录属性:
1. |
右键单击虚拟目录节点,然后从菜单中选择属性。 您会看到如图 4 所示的屏幕。 需要修改的属性已用红线圈出。 不需修改但对安全和性能至关重要的属性用绿线圈出。 |
2. |
选择您刚才创建的应用程序池。 |
3. |
单击配置按钮,您会看到如图 5 所示的屏幕。 |
4. |
单击添加按钮。 |
5. |
在可执行选项中,输入 msmdpump.dll 的完整路径名。在本例中为:C:\wwroot\olap\msmdpump.dll |
6. |
在扩展文本框中输入 .dll。 您在屏幕上将看到如图 6 所示的对话框。 |
7. |
单击确定按钮,接受设置。 |
选择安全设置
选择安全设置:
1. |
选择目录安全性选项卡,然后在身份验证和访问控制上单击编辑。您将看到如图 7 所示的对话框。 |
2. |
您会看到三个选项。选择其中一个。 本部分对这些选项进行简要说明,指出每个选项的优点、缺点和安全性问题。 |
匿名访问
选择此模式时,泵 (msmdpump.dll) 运行时会带有凭据;本例中这些凭据是 IUSR_MACHINENAME 用户的凭据。因此,每个与 Analysis Services 的连接都是以 IUSR_MACHINENAME 用户的身份打开的。选择此模式时,用户是连接到 IIS 还是连接到 Analysis Services,这之间并没有分别。因此无法区分用户。
安全基础结构不使用 Analysis Services 的安全功能时可使用此模式。多数情况下为严格控制的环境,用户被允许或拒绝访问虚拟目录。
集成的 Windows 身份验证
这是最安全的模式,推荐使用。
此模式要求 IIS Server 能获得用户的域身份凭据。这可以使用 Microsoft Active Directory® 或者其他机制完成。本文不逐一论述所有可能配置。
Windows 域服务器的摘要式身份验证
本文不讨论此选项。您可以通过 IIS 的帮助查阅更多相关内容。
基本身份验证
此模式需要用户输入用户名和密码。用户名和密码通过 HTTP 连接传输到 IIS。IIS 将尝试通过提供的凭据模拟用户。
请注意:对于传输密码的系统,绝对要采取确保通信通道安全的措施。IIS 提供了大量用于设置的工具,并要求所有通信都必须使用 HTTPS 协议加密。
本文稍后介绍为虚拟目录设置 HTTPS 必需的操作步骤。
设置 Web 服务扩展
设置 Web 服务扩展:
1. |
在“计算机管理”中,右键单击“Web 服务扩展”节点,然后选择“添加一个新的 Web 服务扩展”。 |
2. |
指定扩展名。 |
3. |
单击“添加”按钮并为您的 msmdpump.dll 文件指定一个路径。 |
4. |
选中“设置扩展状态为允许”复选框。 您在屏幕上将看到如图 8 所示的对话框。 |
选择目标 Analysis Services 服务器
正如您在图 1 中看到的体系结构图所示,每个泵组件均使用自己的配置文件。
打开位于您文件夹中的 msmdpump.ini 文件并查看其内容。其内容应如下所示:
<ConfigurationSettings> <ServerName>localhost</ServerName> <SessionTimeout>3600</SessionTimeout> <ConnectionPoolSize>100</ConnectionPoolSize> <MinThreadPoolSize>0</MinThreadPoolSize> <MaxThreadPoolSize>0</MaxThreadPoolSize> <MaxThreadsPerClient>4</MaxThreadsPerClient> </ConfigurationSettings>
此时,您所关心的唯一设置是 <ServerName>。
如果您需要访问的 Analysis Services 实例位于本地计算机中并安装为默认实例,则无需更改此设置。否则,需要指定计算机名和实例名 (mymachine\inst1)。
也可以在另一台设置为通过 HTTP 访问 Analysis Services 的 IIS 服务器上指定一个指向虚拟目录的指针。
例如,您可以指定 <ServerName>http://secondmachine/olap/msmdpump.dll</ServerName>
综上所述
现在,您应该已经设置好您的 HTTP 泵并可以从您的应用程序连接了。
如果您的应用程序可以指定服务器名,则只需将您的服务器名更改为指向以“msmdpump.dll”串连的虚拟目录的路径。
因为在 SQL Server 2000 Analysis Services 中,MSOLAP OLEDB 提供程序能识别服务器名包含 URL 路径,并会自动用 HTTP 协议启动。
例如,要从 MDX 示例应用程序连接到“MyMachine”,应该可以用“http://MyMachine/olap/msmdpump.dll”作为服务器名连接到 Analysis Services 服务器。