标签: sqlanywhere

SQL Anywhere 11 - 检查事件是否存在

我有一个创建预定事件的 SQL 脚本:

CREATE EVENT "Daily_1200PM"
SCHEDULE "Daily_1200PM" START TIME '12:00' EVERY 24 HOURS
HANDLER
begin 
   -- Blah blah, do some stuff here
end;
Run Code Online (Sandbox Code Playgroud)

我想删除此事件(如果存在)。我知道我可以通过以下方式删除事件:

DROP EVENT "Daily_1200PM"
Run Code Online (Sandbox Code Playgroud)

但是对于某些数据库,该事件实际上并不存在,因此会引发错误。

如何在事件存在时删除该事件?

sql schedule sqlanywhere

2
推荐指数
1
解决办法
1764
查看次数

SQL Anywhere 查询错误:主机变量的值不足

我正在使用 .Net 中的 ODBC 命令对象构建查询,并传入多个参数。对 SQL Anywhere 执行查询时,出现以下错误。(相同的代码适用于 SQL Server)。

[System.Data.Odbc.OdbcException] = {"ERROR [07002] [Sybase][ODBC 驱动程序][SQL Anywhere]没有足够的主机变量值"}

命令对象添加了与查询中的占位符 ('?') 相同数量的参数。以下是未通过测试的简单查询和 C# 代码。

用于填充宿主变量的 C# 代码

String queryText= @"DECLARE @loanuseraddress varchar(40), @loanid decimal Set @loanid = ? Set @loanuseraddress = ? select * from Loan_assignments where Loan_id = @loanid"

        OdbcConnection connection = new OdbcConnection(request.ConnectionString);
        OdbcCommand command;    

        command = new OdbcCommand(queryText, connection);

        OdbcParameter param1 = new OdbcParameter("@loanid", OdbcType.Decimal);
        param1.Value = request.Loan.LoanNumber;
        command.Parameters.Add(param1);

        OdbcParameter param2 = new OdbcParameter("@loanuseremployer", dbcType.VarChar);
        param2.Value = appraisalCompanyUpdate.LoanUserEmployer;
        if …
Run Code Online (Sandbox Code Playgroud)

.net c# odbc sqlanywhere

1
推荐指数
1
解决办法
6094
查看次数

case,when,然后在存储过程中的where子句不起作用

以下存储过程是基于搜索类型(id,数字,名称)和搜索文本('samsung galaxy'或任何其他等等)进行产品搜索.让我们假设

search_type是name, search_text是'samsung galaxy'

基于这个条件,我写了以下存储过程.

create or replace procedure product_search(
    search_type IN varchar2,
    search_text IN varchar2,
    status IN varchar2)
is
cursor c1 is 
    SELECT p.pm_oid , p.item_name  
        FROM prism_item_hierarchy p
        WHERE 
        CASE search_type
             WHEN 'id' THEN p.pm_oid LIKE '%'||search_text||'%'
             WHEN 'name' THEN  Lower(p.item_name ) LIKE '%'||search_text||'%'
             ELSE p.item_number LIKE '%'||search_text
        END;

BEGIN
    open c1;
    -- fetch c1 into 

    close c1;

 END;
Run Code Online (Sandbox Code Playgroud)

但是我在条件情况下得到以下错误:

[Error] ORA-00905 (18: 49): PL/SQL: ORA-00905: missing keyword
Run Code Online (Sandbox Code Playgroud)

你能告诉我如何解决这个问题,即使你提出了另一种方法来解决这个问题,它会很棒.谢谢

sql oracle select stored-procedures sqlanywhere

1
推荐指数
1
解决办法
3071
查看次数

窃取我的信息

TL; DR: 我的POS使用Sybase Advantage数据库服务器存储我的销售数据,我想访问它,但我只有备份文件.


我拥有一家拥有"先进"POS软件的小型企业,该软件拥有我所有销售数据的唯一副本.他们有一些备份计划,但他们不愿透露任何细节.还有一个自动每日本地备份例程,但由于这是一个POS并且有关于删除数据的某些法律,我不允许(也不需要软件)从备份恢复甚至检查它是否有效.当他最后一次从备份恢复时,我问了支持人员,他说"别担心,我们不需要它".

当然,我很担心.

在这一点上我会注意到法律要求我保留这些数据,如果我因任何原因未能这样做,我个人可能面临数百万的巨额罚款.我想避免这种情况.

除了保存数据,并验证备份包含我需要保留的数据之外,我还想创建报告.POS供应商声称它可以创建我需要的任何报告,但是每次我向他们询问报告时,它都包含错误的数据,崩溃,导出不可读的文件(他们的回复是文件很好) ,我的[插入相关文件阅读器]已被破坏),或者根本就不存在(他们的回复通常类似于"你无论如何都不需要该报告").我问过自己访问数据库的副本,他们说他们不能允许这样做.我唯一的办法就是为开发和测试报告支付数万美元.你问我想要什么报告?

SELECT * FROM SALES
Run Code Online (Sandbox Code Playgroud)

要创建这个简单的报告,我需要将我的数据从Sybase Advantage数据库服务器备份文件迁移到我可以使用的格式,例如MySQL数据库,但我发现的所有迁移工具都需要访问工作的数据库服务器.

如何从这些备份中获取数据?

sybase advantage-database-server sqlanywhere database-restore database-backups

1
推荐指数
1
解决办法
294
查看次数

从哪里下载 sajdbc4.jar?

我没有安装 SQL Anywhere。我尝试过jconn4和jconn3,我也尝试过jodbc4,但它们都不能满足我的需要。

我需要一个用于 Sybase 的纯 java、类型 4、jdbc 驱动程序,据我所知,它是 sajdbc.jar。但无处可见。我非常需要这个文件。有谁可以告诉我在哪里可以下载这个文件吗?

java sybase jdbc sqlanywhere

1
推荐指数
1
解决办法
1万
查看次数

如何在SQL中的任何位置插入一个值?

我无法使用此代码插入值:

 insert into t_category_values (CategoryCode,
 CategoryValueCode, CategoryValue) values(2, 1, 1);
Run Code Online (Sandbox Code Playgroud)

错误消息

no primary key
Run Code Online (Sandbox Code Playgroud)

sql sqlanywhere

0
推荐指数
1
解决办法
2994
查看次数