标签: sybase

如何识别与sybase数据库中的表关联的触发器?

我正在使用SQL Advantage,需要知道SQL是什么来识别与表关联的触发器.我没有选择使用其他工具,所以老式的SQL解决方案是理想的答案.

sql sybase triggers

8
推荐指数
3
解决办法
4万
查看次数

PowerDesigner - 防止DB名称在生成的SQL中为大写

我目前正在开始使用Sybase PowerDesigner及其物理数据模型(PDM).

我已经设法创建了一些实体/表,列等等,生成的SQL中的情况(从模型创建数据库)就像我想要的那样.

但是,关于数据库名称,PowerDesigner坚持要求它始终为大写.实际上,我没有得到任何错误消息或类似的东西,我实际上允许输入一个混合大小写的数据库名称,但只要我关闭"模型属性"窗口并返回它检查,数据库代码名称返回大写.

我显然没有取消将"逻辑名称"连接到代码名称的"="按钮,因此我可以键入不同的代码名称,但它仍然不起作用(对于表格而言).

有没有办法在生成的SQL脚本中使用与我在PowerDesigner中指定的大小写相对应的数据库名称?DBMS类型是SQL Server 2008(尝试过以前的版本,问题是相同的).

非常感谢提前.

sybase powerdesigner

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

如何从一个将多行返回到单个结果的查询中"合并","展平"或"旋转"结果?

我对表有一个简单的查询,它返回如下结果:

id    id_type  id_ref
2702  5        31
2702  16       14
2702  17       3
2702  40       1
2703  23       4
2703  23       5
2703  34       6
2704  1        14
Run Code Online (Sandbox Code Playgroud)

我想将结果合并为一行,例如:

id    concatenation 
2702  5,16,17,40:31,14,3,1
2703  23,23,34:4,5,6
2704  1:14
Run Code Online (Sandbox Code Playgroud)

有没有办法在触发器内执行此操作?

注意:我知道我可以使用光标,但我真的不愿意,除非没有更好的方法.

该数据库是Sybase 12.5.4版.

sql sybase pivot flatten

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

如何通过PHP连接到Sybase

我正在尝试使用PHP5连接到Sybase数据库.我相信我已成功编译PHP PDO_DBLIB,作为PDO驱动程序下的phpinfo()列表dblib,并freetds作为pdo_dblib风格.

但是,当我尝试测试连接时,我收到错误消息:

'PDOException',消息'找不到驱动程序'

我正在尝试使用以下代码连接到LAN上的服务器:

$dbh = new PDO("sybase:host=192.168.1.xxx;dbname=[database-name]", '[user]', '[pass]');
Run Code Online (Sandbox Code Playgroud)

任何建议将不胜感激!

php sybase dbo

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

如何在Sybase中列出所有用户表及其行数?

我想返回所有表格及其旁边的计数.什么是最快捷的方式?

我知道在Oracle中,您可以执行类似下面的操作,但不确定Sybase:

declare n number;
begin
   for rec in (select object_name from user_objects where object_type='TABLE')
   loop
     execute immediate 'select count(*) from '||rec.object_name into n;
     dbms_output.put_line (rec.object_name||':'||n);
   end loop;
end;
Run Code Online (Sandbox Code Playgroud)

sybase

8
推荐指数
2
解决办法
7万
查看次数

为什么SQL Server DATETIME类型可以节省1/300秒的时间?

SQLServer日期时间格式存储为8个字节,其中前四个字节是自1900年1月1日以来的天数,其他四个字节是自午夜以来的刻度数.滴答是第二个的1/300.

我想知道为什么会这样?1/300来自哪里?必须有一些历史原因.

sql-server sybase datetime history

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

为什么这个sybase错误随着查询的任何更改而消失?

我多年来一直使用的查询突然开始抛出一个奇怪的错误.当我对查询进行外观修改(1 + x而不是x + 1)时,不再出现错误.它抱怨的存储过程甚至不再存在于服务器上!

如果有人对这个问题是什么以及为什么这个"改变"修复了它,我很好奇?

之前的查询:

UPDATE SOME_DB..JOB_QUEUE
SET ERROR_COUNT = ERROR_COUNT + 1,
    JOB_START_TIME = '{1}'
WHERE JOB_ID = {0}
Run Code Online (Sandbox Code Playgroud)

查询后:

UPDATE SOME_DB..JOB_QUEUE
SET ERROR_COUNT = 1 + ERROR_COUNT,
    JOB_START_TIME = '{1}'
WHERE JOB_ID = {0}
Run Code Online (Sandbox Code Playgroud)

它抛出的错误:

Sybase.Data.AseClient.AseException: Procedure sp_net_dblatency expects parameter @heartbeat, which was not supplied.
Run Code Online (Sandbox Code Playgroud)

我想知道是否有人有任何想法在这里发生了什么?

编辑. 这是存储过程.

create procedure sp_net_dblatency
    @heartbeat datetime
as
    update DATABASE_1234..LATENCY set START_UTC_TIME=@heartbeat, END_UTC_TIME=getutcdate() where DATABASE_NAME=db_name()
    if (@@ROWCOUNT = 0)
        insert DATABASE_1234..LATENCY (DATABASE_NAME, START_UTC_TIME, END_UTC_TIME) values (db_name(), @heartbeat, getutcdate())
Run Code Online (Sandbox Code Playgroud)

sql sybase stored-procedures sybase-ase

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

从VBScript连接到Sybase时出错 - 内部客户端库错误

我正在编写一个连接到Sybase数据库的VBScript,从表中读取一些数据并将其存储在变量中,然后连接到MS SQL服务器并将数据插入到包含先前存储的可变数据的表中.

我不确定这是否是相关信息,但由于我只有32位驱动程序用于连接到Sybase ODBC,并且由于此VBScript在64位计算机上运行,​​因此我通过命令行运行它但使用SysWoW64 cmd .exe并像这样运行它:

C:\Windows\SysWOW64>cscript C:\My\Directory\MyVBScript.vbs
Run Code Online (Sandbox Code Playgroud)

我无法连接到Sybase数据库.我最初对连接字符串本身有一些问题,但似乎已经解决了.

这是我现在收到的错误消息,但我不知道如何通过这个:

Microsoft OLE DB Provider for ODBC Drivers:[SYBASE] [ODBC Sybase driver] [Sybase] ct_connect():user api layer:internal Client Library error:HAFAILOVER:尝试连接服务器


这是现在的脚本

Dim connStr, objConn

DataSource = "ICCM_PREVIEW"
ServerIP = "1.2.3.4"
Port = "1234" 
DBuser = "myUser" 
DBpwd = "myPassword" 
DBName = "myDatabase" 
Driver = "SYBASE ASE ODBC Driver"

connStr = ""
connStr = connStr &"Driver="& Driver &";"
connStr = connStr &"Data Source="& DataSource &";"
connStr = connStr &"Srvr="& ServerIP &","& Port &";"
connStr …
Run Code Online (Sandbox Code Playgroud)

vbscript sybase connection-string

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

设置DataBase的加密密钥(Sybase Unwired Platform)

目前,我可以通过执行以下操作为本地数据库设置加密密钥:

 if(![MyDemo_MyDemoDB databaseExists]){
        SUPConnectionProfile* cp = [MyDemo_MyDemoDB
                                    getConnectionProfile];
        [cp setEncryptionKey:@"Yourkey"];
        [MyDemo_MyDemoDB closeConnection];
    }
Run Code Online (Sandbox Code Playgroud)

因此,当我的用户成功登录(通过提供SUPDataVault的正确密码)时,我收到以下错误:

ERROR sup_sqlite_db_ConnectionWrapperImpl.m:62 dynamicStatement: There is an exception file is encrypted or is not a database
2011-12-21 13:32:05.112 MyDemo10389:11603 MBODebugLogger: SUPPersistenceException SUPPersistenceException from find: -- sup_sqlite_db_StatementWrapperImpl: There is an exception null value for sqlite3_stmt
2011-12-21 13:32:05.225 MyDemo10389:11603 *** Terminating app due to uncaught exception 'SUPPersistenceException', reason: 'SUPPersistenceException from find: -- sup_sqlite_db_StatementWrapperImpl: There is an exception null value for sqlite3_stmt'
Run Code Online (Sandbox Code Playgroud)

我认为正在发生的是,尽管数据库已成功创建,但它仍然是加密的.我该如何解密?

sybase ios sup

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

为什么LINQ-to-Entities将此查询放在子选择中?

我有以下LINQ查询:

var queryGroups = (from p in db.cl_contact_event
                   select new Groups { inputFileName = p.input_file_name }).Distinct();
Run Code Online (Sandbox Code Playgroud)

运行时转换为以下内容:

SELECT 
[Distinct1].[C1] AS [C1], 
[Distinct1].[input_file_name] AS [input_file_name]
FROM ( SELECT DISTINCT 
       [Extent1].[input_file_name] AS [input_file_name], 
       1 AS [C1]
       FROM [mel].[cl_contact_event] AS [Extent1]
)  AS [Distinct1]
Run Code Online (Sandbox Code Playgroud)

现在我很确定有一个子选择的原因是因为我有()包围的基本LINQ查询,然后执行.Distinct()但我不太了解LINQ以确保这一点.如果确实如此,那么有一种方法可以重构/编码我的查询,以便不会发生子选择吗?

我知道这似乎我只是在这里挑选,但我只是好奇.

c# linq sybase linq-to-entities

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