标签: netezza

通过ODBC在C#中读取Netezza数据库表在Windows 7中不起作用

为什么.NET无法通过已安装的{NetezzaSQL}驱动程序连接到我的Netezza盒?64位应用程序也无法通过此ODBC连接进行连接.那为什么会这样?我在控制面板中构建了用户和系统Netezza ODBC连接,当我单击"测试连接"时两者都正常工作?我在注册表中看到了值,但是当我遍历注册表驱动程序时,.NET没有看到"NetezzaSQL".根据Netezza的说法,他们没有64位ODBC驱动程序.他们提供的驱动程序应该适用于32位和64位应用程序.这可能是Windows 7的权限问题吗?

static void CreateNetezzaTableObjectFolders()
{
    //string activeDir = @"C:\Source\EDW\dw-objects\trunk";

    OdbcConnection conn = new OdbcConnection();
    conn.ConnectionString = "Driver={NetezzaSQL};servername=10.1.170.18;port=5480;database=DEV_SANDBOX; username=mac;password=secret;";

    OdbcDataReader rdr = null;

    try
    {
        conn.Open();
        System.Data.Odbc.OdbcCommand cmd = new System.Data.Odbc.OdbcCommand("SELECT OBJECT_NAME FROM QA_ETL..STG_OBJECTS", conn);
        rdr = cmd.ExecuteReader();
        while (rdr.Read())
        {
            Console.WriteLine(rdr[0]);
            // Create Folder
            //string objectName = rdr[0].ToString();
            //string newPath = System.IO.Path.Combine(activeDir, objectName);
            //System.IO.Directory.CreateDirectory(newPath);
        }
    }
    finally
    {
        // close the reader
        if (rdr != null)
        {
            rdr.Close();
        }

        // close the connection
        if (conn != null)
        { …
Run Code Online (Sandbox Code Playgroud)

.net registry 64-bit odbc netezza

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

为什么Netezza序列下一个值给出随机值?

序列:

CREATE SEQUENCE STG.TEMP_PPC_SEQ AS BIGINT
    START WITH 1
    INCREMENT BY 1
    NO MINVALUE
    MAXVALUE 2147483647
    NO CYCLE;
Run Code Online (Sandbox Code Playgroud)

选择查询:

SELECT TPLCST.code,NEXT VALUE FOR STAGING.STG.TEMP_PPC_SEQ
FROM TEMP_PRODUCT_LIFE_CYCLE_STATUS_TYPE TPLCST
Run Code Online (Sandbox Code Playgroud)

结果:

CODE    NEXTVAL
30  8
80  10008
40  30008
50  40015
10  40016
20  20008
Run Code Online (Sandbox Code Playgroud)

我随机获得nextval.我怎样才能使它们连续?

netezza

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

Netezza外键约束

为什么Netezza没有"强制执行"外键约束,尽管它具有外键的概念?不执行约束的优点是什么?

netezza

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

Netezza中数据库中所有表的行数

我正在将数据从MS SQL迁移到Netezza,因此我需要查找数据库(在Netezza中)中所有表的行数。任何查询相同的内容都会对我有极大的帮助,因为我对此是全新的。提前致谢。

sql netezza

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

加入Netezza的类型

我无法在Netezza/PureData中获得正式的联接类型列表.

根据我读过的powerpoint演示文稿,有5种类型:

  1. 散列连接:需要等同条件,相同类型.最快的
  2. 存在加入:一种哈希加入?
  3. 表达式连接:也称为嵌套循环连接?
  4. 合并连接:它们是否合并了排序连接?有些文章提到的就像Hash Joins,但是对于花车来说
  5. 交叉产品加入:慢?

正如你所看到的,我有很多知识空白.不幸的是,我还没有找到涵盖这个主题的综合文档.对此的任何意见将不胜感激.

join netezza

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

Netezza vs Puredata

这个问题可能看起来很尴尬,但我搜索了整整一周才知道Netezza和PureData的区别.我很感激有人可以帮助我.如果你能给我一个链接会好得多.

netezza

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

Netezza SQL替换功能?

replaceNetezza 有功能吗?如果没有,有什么替代方法可以实现?

例如.

replace('abc','a','1)
Run Code Online (Sandbox Code Playgroud)

netezza

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

非常慢的Netezza(数据库)批量插入

我正在使用批量插入和预准备语句将数据插入Netezza.但是,性能非常慢.以下是我的代码:

final int batchSize = 1000;
int count = 0;
for (final MyClass object: myList) {
    ps.setString(1, object.getOne());
    ps.setString(2, object.getTwo());
    ps.setString(3, object.getThree());
    ps.setString(4, object.getFour());
    ps.setString(5, object.getFive());
    ps.setString(6, object.getSix());
    ps.setString(7, object.getSeven());
    ps.setString(8, object.getEight());
    ps.setString(9, object.getNine());
    ps.setString(10, object.get10());
    ps.addBatch();
    if(++count % batchSize == 0) {
        ps.executeBatch();
    }
}
ps.executeBatch(); // insert remaining records
Run Code Online (Sandbox Code Playgroud)

有谁知道我怎么能加快速度呢?

java sql performance insert netezza

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

如何在 Datagrip 中配置 Netezza?

有谁知道如何在 Datagrip 中配置 Netezza 数据库连接?

是否可以?也许不是。

提前致谢!

jdbc netezza datagrip

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

在SQL查询Redshift中使用动态LIMIT

我有一个Redshift和Netezza查询,COUNT(*)每当我运行它时会增长,因为大多数表附加了更多销售等的行.无论如何,我正在寻找价格最高的20%,所以我正在使用ORDER BY price,然后更改限制通过做心理数学得到前20%,即如果COUNT(*)=10,000,那么我将添加一个静态LIMIT 2000.明天,也许它会是12,000行,然后我需要运行COUNT(*)LIMIT 2400再次更改.这显然是不可扩展的.

我正在尝试编辑查询以包含动态限制,查找前20%并在百分比之间轻松更改:5%,10%等等.因此无论行数如何,我都会获得一致的结果.

以下示例查询:

SELECT
 * 
FROM orders
WHERE
 sale_date >= '2018-01-01'
ORDER BY 
 price DESC
LIMIT 2000
Run Code Online (Sandbox Code Playgroud)

我想要有更像的东西:

SELECT
 * 
FROM orders
WHERE
 sale_date >= '2018-01-01'
ORDER BY 
 price DESC
LIMIT (SELECT COUNT(*) * 0.2 FROM orders)
Run Code Online (Sandbox Code Playgroud)

不确定Redshift/Netezza是否支持此功能.我已经看到了一个StackOverflow问题,它可以在MySQL中使用变量函数,但我在Redshift和Netezza工作.任何人对如何创建这个有什么想法?谢谢!

sql sql-order-by limit netezza amazon-redshift

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

通过 Netezza 查询将行折叠成单个字段

我正在处理一个以长/高格式存储变量的表。我需要将其转换为宽格式以在项目中使用。基本上我需要聚合一个文本字段,或者按名称折叠。下面是示例数据,我正在使用的表有大约 400k 行:

IID     NAME  LANGUAGE  TID
  1  William   English   76
  1  William    French   82
  1  William   Spanish   12
  1  William    German   63
  2   George    German   39
  2   George    French   53
  3     Dave   English   29
Run Code Online (Sandbox Code Playgroud)

我需要获取的是每个个人 ID/姓名的一行,其中一个字段列出了该个人所说的所有语言。我不需要考虑交易 ID。

IID     NAME                      LANGUAGES
  1  William  English_French_German_Spanish
  2   George                  French_German
  3     Dave                        English
Run Code Online (Sandbox Code Playgroud)

我的数据库是 Netezza,它是 PostgreSQL 的衍生品。我创建了一个使用 PostgreSQL 的 SQL fiddle。我已经成功捕获了其中两种语言,但我的查询遗漏了超过 2 种语言,并且在只有 1 种语言时显示双倍。任何人都可以为我指出正确的方向吗?

http://sqlfiddle.com/#!15/55706/1

SELECT T1.IID, T1.NAME,
    MIN(T1.LANGUAGE) || '_' || MAX(T1.LANGUAGE) AS LANGUAGES

FROM Table1 AS T1

GROUP BY T1.IID, …
Run Code Online (Sandbox Code Playgroud)

sql netezza

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

CASE语句等同于if或else-if

在这个sql CASE语句中:

CASE WHEN col1 = 'X' then 'A'  
CASE when col2 = 'Y' then 'B'  
else 'C' as result ...
Run Code Online (Sandbox Code Playgroud)

如果col1 = X,col2 = Y,输出是'A'还是'B'?即CASE语句是if还是else-if?

sql case netezza

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

在 Netezza 中生成从 1 到 N 的数字范围

我想知道 Netezza 中是否有一个选项可以简单地生成从 1 到 N 的数字范围?

假设 N=5,那么我的结果应该是:

1
2
3
4
5

谢谢!

netezza

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