我正在将数据库从 Teradata 转换为 SqlServer。我注意到所有表和过程都以前缀“dbo”命名。(例如“dbo.Table1”)。
我想知道是否以及如何摆脱“dbo”,因为它会使转换任务变得更加容易。
我在互联网上找到的一些文章比较了ISNULL和COALESCE,所以我认为我的问题有点不同.
我想知道哪个性能更好?
SELECT * FROM mytable WHERE mycolumn IS NOT NULL AND mycolumn <> '';
Run Code Online (Sandbox Code Playgroud)
要么
SELECT * FROM mytable WHERE COALESCE(mycolumn,'') <> '';
Run Code Online (Sandbox Code Playgroud)
除了表现,在决定时我还应该考虑其他问题吗?
编辑:
我正在使用Teradata.
我试图使用JDBC从Teradata获取大量记录.我需要将这个集合分成我在select中使用"Top N"子句的部分.但我不知道如何设置"偏移"就像我们在MySQL中做的那样-
SELECT * FROM tbl LIMIT 5,10
Run Code Online (Sandbox Code Playgroud)
这样下一个select语句就会从第(N + 1)个位置获取记录.
我提前道歉,这可能是一个问题和答案的基本问题,但我不知道如何通过搜索来找到正确的结果.
我有一个表(在其他列中)包含客户编号的程序名称.我需要确定只有一个特定程序而没有其他程序的客户.一个简化的例子:
Col1 = Customer_Number,Col2 = Program_Name
客户1有三条记录,因为它们已注册2013BA1111,2013BO1161和2013BO1163.客户2只有一条记录,因为它们仅在2013BA1111中注册.
使用Teradata SQL Assistant,如果我选择WHERE Program_Name ='2013BA1111',则将返回Customer 1和Customer 2,因为它们都已注册到程序2013BA1111中.我只想选择客户2,因为他们只有2013BA1111.
谢谢!
建立作为解释连接后在这里,我试着写一个非常简单的数据帧(trythis如下所示),以一个名为表gh_test_20141105在一个名为数据库p_cia_t.首先,我试过了
> conn <- getTdConnection(vdm='vivaldi')
> dbWriteTable(conn=conn,name=tbl,value=trythis)
Error in .verify.JDBC.result(s, "Unable to execute JDBC prepared statement ", :
Unable to execute JDBC prepared statement INSERT INTO p_cia_t.gh_test_20141005 VALUES(?,?,?,?) ([Teradata Database] [TeraJDBC 14.10.00.17] [Error 3932] [SQLState 25000] Only an ET or null statement is legal after a DDL Statement.)
Run Code Online (Sandbox Code Playgroud)
接下来,我在Teradata中创建了一个空表:
create table p_cia_t.gh_test_20141105 (eenie integer, meenie integer, minie integer, moe integer);
我接下来的两次尝试编写此数据框的方式都是相互矛盾的:
> dbWriteTable(conn=conn,name=tbl,value=trythis,append=T)
Error in .local(conn, statement, ...) :
execute JDBC update …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用Teradata UDF连接到JAVA服务器,这里是我的代码.它使用HOST作为"localhost",PORT(整数)作为"9091",并且提供了所有参数,如PEM文件位置等,但是函数总是从catch块退出.我知道exit(0)在Teradata UDF中不允许这样做,我只是为了调试而使用它.在ORACLE UDF的情况下,相同的代码连接到服务器绝对没问题.请告知Teradata可以使用哪些端口进行通信,或者Teradata是否支持与服务器的SSL连接.服务器接受请求类型的参数并返回结果,两者都是类型vector <struct>.
Response CplusplusClient::startClient(DeTokenizationRequest request) {
boost::shared_ptr<TSSLSocketFactory> factory(new TSSLSocketFactory());
factory->loadPrivateKey(PRIVATE_KEY.c_str());
factory->loadCertificate(CERTIFICATE.c_str());
factory->loadTrustedCertificates(TRUSTED_CERTIFICATE.c_str());
factory->authenticate(true);
boost::shared_ptr<TSSLSocket> socket = factory->createSocket(HOST,PORT);
boost::shared_ptr<TTransport> transport(new TBufferedTransport(socket));
boost::shared_ptr<TProtocol> protocol(new TBinaryProtocol(transport));
XSecurityServiceClient client(protocol);
Response result;
try {
transport->open();
client.requested(result, request);
transport->close();
} catch (TException& tx) {
exit(0);
}
return result;
}
}
Run Code Online (Sandbox Code Playgroud) 我有一个 db upgrade 脚本来更改几列上的一些数据类型。我想做一个preCondition检查,并且ALTER TABLE只在它是 DECIMAL 数据类型时调用,但我希望它被更改为 INTEGER。
无法为此找到预定义的先决条件,也无法编写sqlCheck。
我浏览了网络,但找不到满意的答案。是否有现有的 Docker 映像可在 Docker 容器中运行 Teradata 数据库?
到目前为止,我发现的只是这个存储库,其中包含 Hadoop Hive、Presto 等的 Docker 映像...但不包含 Teradata 数据库本身。
当我尝试从 sqlalchemy df=pd.read_sql_table(table, con, schema) 读取数据时出现运行时错误:
运行时间/ CGO:无法获得pthread_keys试图0x115 0x116 0x117量0x118 0x119 0x11a 0x11b 0x11c 0x11d 0x11e 0x11f 0x120的0x121 0x122 0x123的量0x124 0x125 0x126 0x127量0x128 0x129 0x12a 0x12b 0x12c 0x12d 0x12e 0x12f量0x130 0x131 0x132 0x133量0x134 0x135 0x136 0x137 0x138 0x139 0x13a 0x13b 0x13c 0x13d 0x13e 0x13f 0x140 0x141 0x142 0x143量0x144 0x145 0x146 0x147 0x148 0x149 0x14a 0x14b 0x14c 0x14d 0x14e 0x14f量0x150 0x151 0x152 0x153量0x154 0x155 0x156 0x157 0x158 0x159 0x15a 0x15b 0x15c 0x15d 0x15e 0x15f 0x160 0x161 0x162 0x163 0x164 0x165 0x166 …
我在本地机器上从 VMWare Workstation Player 启动并运行了一个 Teradata 实例。我可以DBC通过 putty使用默认登录名连接到 Teradata 数据库。我创建了另一个登录dbc_test,使用dbc_test我也可以通过腻子连接。我正在将相同的连接详细信息配置到ODBC Database Administrator. 但是连接没有通过ODBC Database Administrator. 我需要设置此连接,以便 Teradata 可以连接到 Informatica Cloud。
我的问题是我想知道我哪里出错了。如何通过以下方式成功建立连接ODBC Database Administrator
teradata ×10
sql ×3
dbo ×1
docker ×1
dockerfile ×1
hibernate ×1
java ×1
liquibase ×1
odbc ×1
pandas ×1
python ×1
r ×1
rjdbc ×1
sql-server ×1
sqlalchemy ×1