教程8:注册数据库

数据库型报表的数据源来自数据库,这些数据库可以是SqlServer2000/2005,ACCESS,EXCEL和ODBC数据源,在系统能使用这些数据库前,先得对它们进行注册。

管理登录,点击“注册数据库”下的“添加”,进入添加注册数据库页面如下



在“选择数据库类型”中有5种类型的数据库

第一种是电子表格,它其实不是一个数据库类型,而是授权定制电子表格型报表的方式。我们将在最后介绍它。

第二种是ACCESS,选择它,将会出现注册ACCESS数据库设置区域,如下图
1、在ACCESS数据库文件路径中输入ACESS数据库文件的路径(下图红框1),这里用的是示例数据库northwind.mdb,请注意e:\web\是编写本教程所用服务器的web站点根目录,您的服务器的web站点根目录肯定不一样,请换成您的web站点根目录。
2、“浏览”按钮只用于在服务器上获得数据库路径,在客户端上使用是无效的。例如您的服务器是server,您在server上打开IE进入注册数据库页面,就可以使用“浏览”按钮快速获得数据库文件路径;但假如您不是在server上而是在一台工作站电脑进入注册数据库页面,使用“浏览”就无效了,您必须得把数据库的完整路径输入到文本框中。
3、如果ACCESS数据库文件有密码保护,请在“密码”文本框中输入密码。
4、按“连接”按钮(红框2)进行数据库连接,如果成功,会在左下的数据库列表(红框3)中列出数据库中所有数据表。




第三种是SQLServer,它的设置区如下图


在SQLServer服务器IP后填入SQLServer服务器的IP地址或计算机名称,填入数据库名,用户名和密码,按“连接”进行连接,成功则数据表会在数据库列表中列出。

SQLServer数据库的数据表名带架构名前缀,如“humanresource.employees”,“humanresource”为架构名,“employees”为数据表名,二者用“.”隔开。这样的表名较长,有时会使得列表宽度不能将表名完全显示出来,此时可以点击列表下方的伸缩图标 拉伸列表宽度。

第四种是EXCEL,它的设置和ACCESS相似,略过不提,只是强调一下EXCEL表中的数据格式

做为数据源的EXCEL表不能有合并单元格,第一行必须是字段名(下图1红框1),EXCEL中的工作表(下图1红框2)将成为注册数据库的数据表(下图2红框)

图1

图2



实际上,上面的例子用的是onlineXLS\dataStore\文件夹中的scores.xls做为数据源,它被注册为“EXCEL表”,您可以打开这个EXCEL文件看一看。

第五种是ODBC数据源,如果您在服务器上配置了ODBC数据源,将它的名称,用户和密码(如果有)输入就可以了。

ACCESS和EXCEL数据库文件的路径不限于在onlineXLS\dataStore\中,它可以在服务器中的任何位置,例如您可以把northwind.mdb拷贝到D盘中,然后在ACESS数据库路径中输入“d:\northwind.mdb”,一样可以连接,当然,数据库文件可以是任何您自己的数据库文件,而不仅限于norhwind.mdb,FRNWIND.mdb和scores.xls这三个示例数据库文件,只是别给数据库文件名加上“#”,否则会连接失败。

注册数据库中还有两个设置——授权用户和注册说明,如下图



注册说明是注册数据库的注解,可有可无,但授权用户就需要谨慎设置了。

让我们用一个例子来说明

1、管理登录,进入添加注册数据库页面。
2、在“选择数据库类型”下拉菜单中选择“ACCESS”。
3、在“ACCESS数据库文件路径”中输入“您的web站点根目录\onlineXLS\dataStore\fpnwind.mdb”,这里“您的web站点根目录”指的是您实际的您的web站点根目录,如您的您的web站点根目录可能是“d:\www”,那么您就填入“d:\www\onlineXLS\dataStore\fpnwind.mdb”
4、在“数据库注册名”文本框中填入“中国风2”
5、按“授权用户”按钮,打开用户列表窗口如下


在系统用户列表中选择“李明”(红圈1),按“+”(红圈2)将其加入授权用户列表,同样地将张强加入,按“确认”(红圈3),注意“李明”和“张强”显示在“授权用户”按钮后(红圈4),关闭用户列表窗口。

6、按“保存”按钮,保存注册数据库。

在管理员界面,来到添加报表页面,在“选择注册数据库”下拉菜单中,您会发现多了一个“中国风2”。

来到用户界面,用“李明”登录,展开“示例集”,在“财务”集上按鼠标右键,会弹出用户管理菜单(要在“财务”两个字上按右键,否则弹不出来),如下图。点击“新建表”(下图红圈),会在右侧用户报表区出现添加报表页面,和管理员界面的添加报表页面几乎一样。在“选择注册数据库”下拉菜单中,在您会发现多了一个“中国风2”。



同样在用户界面,用“张强”登录,展开“示例集”,在“销售”集上按鼠标右键,在弹出的快捷菜单中选择“新建表”,右侧添加报表页面中,在“选择注册数据库”下拉菜单中,发现多了一个“中国风2”。

上面的操作表明,管理员,用户李明和张强都有注册数据库“中国风2”的使用权,因此他们都能看到数据库中的所有数据。

管理员不需要被授权,他天然地拥有所有注册数据库的使用权,而授权用户只能使用被授权的注册库(您会发现用户“李明”和“张强”的“选择注册数据库”下拉菜单中内容是不一样的),一旦用户被授予了注册数据库的使用权,他就拥有查看数据库所有数据的能力,因此在授予用户使用注册数据库的时候,一定要谨慎,防止授权给了不必要的用户。

在上面的例子中,我们实际接触到了授权管理,即点击鼠标右键弹出的快捷菜单,我们称之为右键管理菜单。在单位中,管理员可以包办一切,不需要授权;也可以把某部分工作授权给相应的部门管理员,减轻工作量。

如果不想授权,那么在注册数据库的时候就不要给任何用户授权,在添加属集时也不要添加任何管理员;如果进行授权,就要给用户管理某个属集和使用某个注册数据库的权限。(属集操作将在下一个教程详说)

最后说一下电子表格型注册数据库,我们在开头说过,电子表格型注册数据库其实只是授权的方式,因为它其实没有数据库源。请做以下试验:

管理登录,点击“注册数据库”下的“列表”(下图红圈1),则在管理设置区会出现已注册数据库列表,可以看到有一个“电子表格”,它的授权用户是“user”和“李明”。



来到用户界面,用“张强”登录,展开“示例集”,在“销售”集上按鼠标右键,在弹出的右键管理菜单中选择“新建表”,右侧添加报表页面中,在“选择注册数据库”下拉菜单中您会发现没有“电子表格”,因此“张强”不能添加电子表格型的报表。

再回到管理员界面,在注册数据库列表中,点击“电子表格”那一行后面的“修改”,进入注册数据库修改页面,在“授权用户”中添加“张强”,保存。

来到用户界面,用“张强”登录,展开“示例集”,在“销售”集上按鼠标右键,在弹出的右键管理菜单中选择“新建表”,右侧添加报表页面中,在“选择注册数据库”下拉菜单中您会发现有“电子表格”了,选择它,果然进入添加电子表格型报表页面。

为了进一步加深理解,请再做一个试验。

1、请管理登录,点击管理菜单中“注册数据库”下的“添加”进入添加注册数据库页面,
2、 在“选择数据库类型”中选择“电子表格”,
3、 在“数据库注册名”文本框中填入“电子表格2”
4、按“授权用户”按钮,将“张强”加入授权用户中。
5、保存注册数据库,右侧的注册数据库列表中多了一个“电子表格2”,表明注册成功。
6、来到用户界面,用“张强”登录,在“销售”集上打开右键管理菜单,在“选择注册数据库”下拉菜单中分别选择“电子表格”和“电子表格2”

您会发现无论选择“电子表格”或“电子表格2”,其结果是一样的,二者都可以让“张强”添加电子表格型报表,没有任何区别。因此,刚才添加的“电子表格2”是多余的,因为已经有了“电子表格”,就已经有了给用户授权定制电子表格型报表的方式,无需再加一个了。

现在您明白为什么说电子表格型注册数据库只是提供定制电子表格型报表的授权方式了吧。

补充说明:

1、ACCESS数据库名不能有"#",否则会出现连接出错的情况。
2、sqlServer中要授予用户查询相应数据表的权限,sqlServer2005中还必须授予用户查询相应架构的权限,否则会被拒绝连接。
3、sqlServer数据库的架构名中不能有“.”号,否则因为和作为架构名和表名的间隔符“.”冲突而出错。例如,如果架构名为“humanresource”,表名为“employees”,则全名为“humanresource.employees”;假如架构名中有“.”,变为“human.resource”,则全名为“human.resource.employees”,可见多出了一个“.”,系统将无法判断哪个是真正的间隔符。
4、如果sqlServer服务器和web服务器不在同一台服务器上且不在同一域中,请设置好信任关系,否则会被拒绝连接。