我在Windows XP上安装了Firebird 2.1,并使用firebirdsql.jdbc-2.1.6驱动程序与java连接.码:
Class.forName("org.firebirdsql.jdbc.FBDriver");
connection = DriverManager.getConnection(
"jdbc:firebirdsql://localhost/3050//C:/firebird/database/EMPLOYEE.FDB",
"test","test");
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
Caused by: org.firebirdsql.jdbc.FBSQLException: GDS Exception. 335544375. unavailable database Reason: unavailable database at org.firebirdsql.jdbc.FBDataSource.getConnection(FBDataSource.java:122) at org.firebirdsql.jdbc.FBDriver.connect(FBDriver.java:140) at java.sql.DriverManager.getConnection(DriverManager.java:525) at java.sql.DriverManager.getConnection(DriverManager.java:171)
请帮忙.
问题解决了:实际上我遇到了jar文件的问题
http://mirrors.ibiblio.org/pub/mirrors/maven2
我从firebird官方网站下载了jaybird-full-2.1.6.jar,问题解决了.
正确的URL是
"jdbc:firebirdsql://localhost:3050/C:\\firebird\\database\\EMPLOYEE.FDB"
Run Code Online (Sandbox Code Playgroud)
我之前也尝试过这个URL,但由于jar问题而无法正常工作.
我想在发生异常时从过程返回错误消息.在SQL Server中,您将选择Error_Number()和Error_Message().我将如何在FirebirdSql中执行此操作
SET TERM ^ ;
CREATE PROCEDURE sprocname
( id int )
RETURNS
( gcode int, errmsg varchar(250) )
AS
BEGIN
gcode = 0;
errmsg = '';
-- do procedure code here
WHEN ANY DO
BEGIN
gcode = gdscode; -- ??
errmsg = ??;
END
SUSPEND;
END^
SET TERM ; ^
Run Code Online (Sandbox Code Playgroud) 我正在使用fb远程事件来监听数据库,我在我的应用程序加载内部线程启动它.
当我在我的Windows 10(本地PC)上运行它时,它正常工作并完美但是当我在Windows Server 2003上运行它时,它开始填充RAM内存比它应该多得多,当它达到服务器限制时它就会关闭.
这是我的代码:
private void DataBaseEventListner()
{
FbRemoteEvent revent = new FbRemoteEvent(M.Baza.connectionString);
FbRemoteEvent revent1 = new FbRemoteEvent(M.Baza.connectionKomercijalno2018);
revent.RemoteEventCounts += (sender, e) =>
{
this.Invoke(new MethodInvoker(delegate
{
Poruka p = new Poruka(Magacin.Poruka.UcitajPoslednjuPorukuID(Korisnik.korisnikId));
p.Show();
}));
};
revent1.RemoteEventCounts += (sender, e) =>
{
switch (e.Name)
{
case "PP_NEW":
case "PP_UPD":
Thread thread1 = new Thread(UcitajPoslovnePartnere);
thread1.Start();
break;
}
};
revent.QueueEvents(String.Format("nova_poruka~" + Korisnik.korisnikId.ToString()));
revent1.QueueEvents(new string[] { "PP_NEW", "PP_UPD" });
}
private void UcitajPoslovnePartnere()
{
poslovniPartneri = Komercijalno.Partner.Lista();
}
public static List<Int_String> …
Run Code Online (Sandbox Code Playgroud) 我想禁用所有外键约束并在之后重新启用它们,有没有办法做到这一点?
我知道SQLServer允许这样做,但是Firebird呢?
考虑这个表(来自http://www.tizag.com/mysqlTutorial/mysqlmax.php):
Id name type price
123451 Park's Great Hits Music 19.99
123452 Silly Puddy Toy 3.99
123453 Playstation Toy 89.95
123454 Men's T-Shirt Clothing 32.50
123455 Blouse Clothing 34.97
123456 Electronica 2002 Music 3.99
123457 Country Tunes Music 21.55
123458 Watermelon Food 8.73
Run Code Online (Sandbox Code Playgroud)
此SQL查询返回每种类型中最昂贵的项:SELECT类型,MAX(价格)FROM产品GROUP BY类型
Clothing $34.97
Food $8.73
Music $21.55
Toy $89.95
Run Code Online (Sandbox Code Playgroud)
我还希望为每一行获取属于上述最高价格的字段ID和名称.什么SQL查询将返回这样的表?
Id name type price
123455 Blouse Clothing 34.97
123458 Watermelon Food 8.73
123457 Country Tunes Music 21.55
123453 Playstation Toy …
Run Code Online (Sandbox Code Playgroud) 我有一个生产数据库,使用Firebird 2.1,我需要找出每个表使用多少空间,包括blob.blob-part是棘手的,因为它没有使用标准统计报告.
我无法轻松访问服务器的桌面,因此安装UDF等不是一个好的解决方案.
我怎么能这么容易做到?
我正在使用Firebird 2.1.有一个表名Folders
,字段为:
ParentFolderID
如果它是根文件夹,则为-1 - 否则它包含父文件夹的ID.
如何找到低级节点的所有父级(直到根文件夹)?
我需要递归查询吗?(Firebird支持他们)
我们可以bitwise and
在不使用UDF的情况下执行firebird程序吗?是否有一个内置函数或有一种方法可以使用标准内置命令获得相同的结果?
我也尝试了http://www.firebirdsql.org/refdocs/langrefupd21-intfunc-bin_and.html(BIN_AND)但我需要一些没有UDF的实现.
例如:(3 & 3) returns 3
在SQL中但不在firebird中(firebird 2.1).
我正在使用Firebird 2.1.
这里有张桌子: IDs, Labels
同一ID可以有多个标签:
10 Peach
10 Pear
10 Apple
11 Apple
12 Pear
13 Peach
13 Apple
Run Code Online (Sandbox Code Playgroud)
假设我有一组标签,即:( Apple,Pear,Peach).
如何编写单个选择以返回在给定集合中包含所有标签的所有ID?我最好在用逗号分隔的字符串中指定集合,例如:('Apple','Pear','Peach') - >这应该返回ID = 10.
谢谢!
我有2个fdb数据库company.fdb
和timeAtt.fdb
company.fdb
包含staffDetail
表格
staffId - 001
staffName - Andy
staffStatus - Active
Run Code Online (Sandbox Code Playgroud)
timeAtt.fdb
包含staffAtt
表格
staffId - 001
staffName - Andy
timeIn - 07:30
timeOut - 04:30
LI - X (late in)
AB - X (absent )
remarks - Emergency leave
Run Code Online (Sandbox Code Playgroud)
现在,我想查看那些只是我缺席的工作人员
SELECT staffId,staffName,remarks FROM timeAtt.fdb WHERE AB = 'X'
Run Code Online (Sandbox Code Playgroud)
但问题是,查询还显示非活动人员.所以我需要参加staffAtt
由timeAtt.fdb
和staffDetail
从company.fdb
活跃状态,仅显示的工作人员.我怎样才能做到这一点?
firebird ×10
firebird2.1 ×10
sql ×6
c# ×1
constraints ×1
firebird2.5 ×1
java ×1
jaybird ×1
jointable ×1
max ×1
server ×1