- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 logparser 查询,当运行到屏幕或 CSV 文件时,它会生成正确的输出,但是当我将其发送到 SQL(本例中为 MySQL)时,数据会变得困惑。时间戳是正确的,但字符串显示为空(不是空,只是空),整数列显示为其最大值(在本例中为中型 int = 8388607)。
这是表格:
CREATE TABLE `penetration`
(
`id` INT(10) NOT NULL AUTO_INCREMENT,
`timestamp` DATETIME NULL DEFAULT NULL,
`campaign` VARCHAR(10) NULL DEFAULT NULL,
`build_date` DATE NULL DEFAULT NULL,
`results` MEDIUMINT(8) NULL DEFAULT NULL,
`p1` MEDIUMINT(8) NULL DEFAULT NULL,
`p2` MEDIUMINT(8) NULL DEFAULT NULL,
`p3` MEDIUMINT(8) NULL DEFAULT NULL,
`p4` MEDIUMINT(8) NULL DEFAULT NULL,
`p5` MEDIUMINT(8) NULL DEFAULT NULL,
`p6` MEDIUMINT(8) NULL DEFAULT NULL,
`p7` MEDIUMINT(8) NULL DEFAULT NULL,
`p8` MEDIUMINT(8) NULL DEFAULT NULL,
`p9` MEDIUMINT(8) NULL DEFAULT NULL,
`p10` MEDIUMINT(8) NULL DEFAULT NULL,
`p26` MEDIUMINT(8) NULL DEFAULT NULL,
`accounts` MEDIUMINT(8) NULL DEFAULT NULL,
`logon` VARCHAR(10) NULL DEFAULT NULL,
`client` VARCHAR(2) NULL DEFAULT NULL,
`facility` VARCHAR(3) NULL DEFAULT NULL,
`type` VARCHAR(2) NULL DEFAULT NULL,
INDEX `id` (`id`)
)
COLLATE='utf8_general_ci'
ENGINE=MyISAM
AUTO_INCREMENT=1668
;
来自命令行的工作查询(空值用于将问题提炼为故障排除的本质):
"SELECT NULL, timestamp, TRIM(campaign) AS campaign, TO_DATE(timestamp) AS build_date, TO_INT(results) AS results, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL FROM penetration.tsv"
屏幕输出(正确的)如下所示 - 请注意事件和结果列具有正确的数据):
<NULL> 2015-11-16 23:30:14 BLUCCHM1 2015-11-16 219 <NULL> <NULL> <NULL> <NULL> <NULL> <NULL> <NULL> <NULL> <NULL> <NULL> <NULL> <NULL> <NULL> <NULL> <NULL> <NULL>
<NULL> 2015-11-16 23:30:14 BLUCUCH1 2015-11-16 1330 <NULL> <NULL> <NULL> <NULL> <NULL> <NULL> <NULL> <NULL> <NULL> <NULL> <NULL> <NULL> <NULL> <NULL> <NULL> <NULL>
当我执行此操作时,尝试将数据推送到数据库表,我使用以下查询:
logparser -i:TSV -o:SQL -dsn:directorDSN32 -database:[dbname] -username:[username] -password:[password] -driver:"MySQL ODBC 5.1 Driver" -server:[ip address] "SELECT NULL, timestamp, TRIM(campaign) AS campaign, TO_DATE(timestamp) AS build_date, TO_INT(results) AS results, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL FROM penetration.tsv TO penetration"
查询成功运行,但表最终看起来像这样,请注意时间戳是正确的,campaign 列为空,结果列具有mediumint 的最大值:
我是新手,所以无法嵌入图像,但表格输出如下所示:
id timestamp campaign build_date results ...
1 2015-09-16 17:06:09 2015-09-16 8,338,607 (NULL)
2 2015-09-16 17:06:09 2015-09-16 8,338,607 (NULL)
预先感谢您提供的任何帮助。我想解决方案很简单,但我一直在疯狂地试图找出答案。
最佳答案
正如 Gabriele 在评论中建议的那样,通过将列类型从中型 int 更改为整数,整数问题已得到解决。
字符串问题原来是 MySQL ODBC 5.1 驱动程序的问题。根据official report,这是一个“非错误” ,但其他几个人也遇到过这种情况,而且当我切换到使用 3.51 驱动程序时,查询确实开始工作。
关于mysql - Logparser 输出到 SQL,生成空字符串和最大值整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33762830/
我正在尝试创建一个程序,其中字符串的前三个字符重复给定次数,如下所示: foo('Chocolate', 3) # => 'ChoChoCho' foo('Abc', 3) # => 'AbcAbcA
我有以下字符串: std::string str = "Mode:AAA:val:101:id:A1"; 我想分离一个位于 "val:" 和 ":id" 之间的子字符串,这是我的方法: std::st
DNA 字符串可以是任意长度,包含 5 个字母(A、T、G、C、N)的任意组合。 压缩包含 5 个字母(A、T、G、C、N)的 DNA 字母串的有效方法是什么?不是考虑每个字母表 3 位,我们可以使用
是否有一种使用 levenstein 距离将一个特定字符串与第二个较长字符串中的任何区域进行匹配的好方法? 例子: str1='aaaaa' str2='bbbbbbaabaabbbb' if str
使用 OAuth 并使用以下函数使用我们称为“foo”(实际上是 OAuth token )的字符串加密 key public function encrypt( $text ) { // a
我是一名优秀的程序员,十分优秀!