如何通过SQL语句来修改FireBird用户sysdba的密码
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何通过SQL语句来修改FireBird用户sysdba的密码相关的知识,希望对你有一定的参考价值。
1、firebird嵌入式没有密码保护,连嵌入式数据库的时候有没有密码都一样。主要是用户名正确就行.网络版才需要密码。
2、先创建个用户,比如chn,密码12345678,建数据库的时候指定chn为数据库宿主。
3、fb数据库中只有sysdba和数据库宿主才有权利修改数据库中的结构(添加字段,添加表,等等)。 参考技术A
使用存储过程sp_password
exec sp_password '旧密码','新密码','要修改的用户名'本回答被提问者和网友采纳 参考技术B 那两个是表里的字段吗?SELECT 语句中的列别名不适用于 SQuirrel SQL + Firebird
【中文标题】SELECT 语句中的列别名不适用于 SQuirrel SQL + Firebird【英文标题】:Column aliasing in SELECT statements doesn't work with SQuirrel SQL + Firebird 【发布时间】:2012-09-24 11:00:59 【问题描述】:我尝试使用 SQuirrel SQL 3.4 + Firebird 1.5 + Driver JDBC Jaybird 2.2.[0|1] (JVM 1.7.0_03) 在 SELECT 语句中添加列别名,但不起作用。别名列显示为列的原始名称。在另一个工具 (DBExpert) 中,同样的语句可以正常工作。
声明:SELECT column1 AS alias1, column2 FROM table;
SquirrelSQL 中的结果列名称:column1 - column2
DBExpert 中的结果列名称: alias1 - column2
尝试在别名周围添加 ' 和 ",但也不起作用。
有人有想法吗?
编辑:我将 JDBC Jaybird 驱动程序更新到 2.2.1 版本(9 月 30 日发布),问题仍然存在。
编辑 2:问题已解决!
问题是由 Squirrel SQL 的默认首选项引起的。
要修复它,请转到“文件”->“全局首选项”,在“数据类型控件”选项卡中找到“常规(适用于所有类型)”并标记组合框“使用列标签而不是列名在结果标题中”。
见截图:http://i1-win.softpedia-static.com/screenshots/SQuirrel-SQL-Client_4.png?1345342622
享受吧。
【问题讨论】:
问题已修复。请参阅问题“编辑 2”。 【参考方案1】:在 Squirrel 中,需要在以下位置进行设置:
文件 > 全局首选项 > 数据类型控件 > 检查:使用列标签 而不是结果标题中的列名
【讨论】:
这对我有用!【参考方案2】:问题是由于 JDBC 规范中的混淆(至少从历史上看)以及 Jaybird 在结果集元数据中报告为 columnNames 和 columnLabels 的内容方面发生了变化。据我所知,在 JDBC 2.0 和更早版本中,columnName 和 columnLabel 之间的区别没有明确定义,因此在几乎所有情况下,getColumnName()
返回的值都与getColumnLabel()
相同(即,如果指定了 AS 别名)。
使用 JDBC 3.0 进行了更清晰的区分:columnName
是表中基础列的名称(如果有),columnLabel
是 AS 别名(如果指定),否则 columnName
. Jaybird 2.1.6 及更早版本过去常常为 getColumnLabel()
和 getColumnName()
(即 columnLabel
)返回相同的值,这在 Jaybird 2.2 中已更改。
显然 Squirrel 默认使用不符合 JDBC 的选项 columnName
,而不是 columnLabel
。正如您已经发现的那样:有一个选项可以让它使用columnLabel
。另一个选择是使用 Jaybird 2.2.1 或更高版本并添加连接属性 columnLabelForName=true
。
【讨论】:
你的解释很有启发性。谢谢!以上是关于如何通过SQL语句来修改FireBird用户sysdba的密码的主要内容,如果未能解决你的问题,请参考以下文章
Firebird 2.5 SQL 查询执行计划不使用带有 OR 语句的索引
firebird数据库的问题么? FlameRobin 如何使用?