小编Chr*_*end的帖子

如何在使用SSIS包导入数据后移动文本文件?

我有一个SSIS(dtsx)包从文本文件中导入数据.如何在导入数据后将文本文件作为SSIS包中的步骤移动?是否有命令行实用程序,或者我是否必须编写程序来执行此操作?

sql-server ssis sql-server-2008

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

SP_WHO2是否有条件?

我有一个长时间运行的插入,并且当我运行SP_WHO2时会定期显示"CONDITIONAL"作为命令.这会表明什么?当我搜索到这个时,我发现大多数事情都在说,'是的,当你有一个长时间运行的查询时,你会看到它......'它表明数据库中有什么表现?

sql sql-server sql-server-2008-r2 sp-who2

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

SQL用户定义函数的参数数量无限多?

在Oracle和MySQL中,如何创建一个带有无限数量参数的函数,以便可以像GREATEST(value1,value2,...)一样调用它?

通过某个标准比较两个值非常简单,但将"更大"的值传递给另一个比较是我似乎没有在SQL中工作.

谢谢!

编辑(在Mike的评论之后):我正在寻找比较多列的解决方案.具体而言,我的问题是如何将GREATEST()实现为UDF.以下代码比较了三列.

SELECT CASE WHEN CASE WHEN col_1 < col_2 THEN col_2
                 ELSE col_1 END < col_3 THEN col_3
       ELSE CASE WHEN col_1 < col_2 THEN col_2
                 ELSE col_1 END END AS greatest
  FROM figures;
Run Code Online (Sandbox Code Playgroud)

显然,这不是很好.拥有一个将相同的比较方法一遍又一遍地应用于值列表的通用函数会更有用.

通过SQL我的意思是任何SQL数据库产品,但我更喜欢在Oracle或MySQL中运行的解决方案

mysql sql oracle user-defined-functions

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

如何在Go中读取打包的二进制数据?

我试图找出在Python中生成的包装二进制文件的最佳方法,如下所示:

import struct
f = open('tst.bin', 'wb')
fmt = 'iih' #please note this is packed binary: 4byte int, 4byte int, 2byte int
f.write(struct.pack(fmt,4, 185765, 1020))
f.write(struct.pack(fmt,4, 185765, 1022))
f.close()
Run Code Online (Sandbox Code Playgroud)

我一直在修补我在Github.com和其他一些消息来源上看到的一些例子 但我似乎无法正常工作(更新显示工作方法). 在Go中做这种事的惯用方法是什么?这是几次尝试之一

更新和工作

package main

    import (
            "fmt"
            "os"
            "encoding/binary"
            "io"
            )

    func main() {
            fp, err := os.Open("tst.bin")

            if err != nil {
                    panic(err)
            }

            defer fp.Close()

            lineBuf := make([]byte, 10) //4 byte int, 4 byte int, 2 byte int per line

            for true {
                _, err …
Run Code Online (Sandbox Code Playgroud)

binaryfiles go

6
推荐指数
2
解决办法
3331
查看次数

使用C#示例锁定以使类线程安全或者此类线程是否安全?

我正在尝试调查锁定以创建线程安全类并有几个问题.鉴于以下课程:

    public class StringMe 
    {
        protected ArrayList  _stringArrayList = new ArrayList();
        static readonly object _locker = new object();

        public void AddString(string stringToAdd)
        {
            lock (_locker) _stringArrayList.Add(stringToAdd);
        }

        public override string ToString()
        {
            lock (_locker)
            {
return string.Join(",",string[])_stringArrayList.ToArray(Type.GetType("System.String")));
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

1)我是否成功地使AddString和ToString线程安全?

2)在我创建的ToString方法中是否有必要锁定它以使其线程安全?

3)是否只需要修改需要锁定的数据的方法,或者是否需要锁定读取和写入操作以使其线程安全?

非常感谢您的参与!

c# locking thread-safety

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

计算距离时,我的查询收到以下错误

我收到以下错误"发生了无效的浮点运算." 当我运行此查询时:

SELECT PolID, LocID, Address, City, StateCode, OrigGeoLat, OrigGeoLong, NewGeoLat, NewGeoLong, 
acos(sin(radians(OrigGeoLat)) * sin(radians(NewGeoLat)) +
        cos(radians(OrigGeoLat)) * cos(radians(NewGeoLat)) *
        cos(radians(OrigGeoLong - NewGeoLong))) * 6372.8  as Distance
FROM zzGeoDataTMP
Run Code Online (Sandbox Code Playgroud)

所有*geoLat和*geoLong数据都定义为数字(18,10).当我运行查询时,我开始获取数据然后在特定的数据行上出现错误.例如,以下行仅在调用ACOS函数时抛出上述异常:

OrigGeoLat|OrigGeoLong|NewGeoLat|NewGeoLong
---------------------------------------------
32.9364620|-80.0411000|32.9364620|-80.0411000
Run Code Online (Sandbox Code Playgroud)

非常感谢您提供的任何见解,您可以提供帮助!

sql t-sql sql-server sql-server-2008 sql-server-2008-r2

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

如何从map函数(Python)执行spark sql查询?

如何从不是程序驱动程序部分的例程执行spark sql查询?

from pyspark import SparkContext
from pyspark.sql import SQLContext
from pyspark.sql.types import *


def doWork(rec):
    data = SQLContext.sql("select * from zip_data where STATEFP ='{sfp}' and COUNTYFP = '{cfp}' ".format(sfp=rec[0], cfp=rec[1]))
    for item in data.collect():
        print(item)
    #    do something
    return (rec[0], rec[1])

if __name__ == "__main__":
    sc = SparkContext(appName="Some app")
    print("Starting some app")

    SQLContext = SQLContext(sc)

    parquetFile = SQLContext.read.parquet("/path/to/data/")
    parquetFile.registerTempTable("zip_data")


    df = SQLContext.sql("select distinct STATEFP,COUNTYFP from zip_data where STATEFP IN ('12') ")
    rslts = df.map(doWork)

    for rslt in rslts.collect():
        print(rslt) …
Run Code Online (Sandbox Code Playgroud)

python apache-spark parquet

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

如何从JSON返回字符串到C调用者(Golang CGO)?

我正在尝试在Go中开发一个例程,该例程将由C ++程序调用。Go外观如下:

package main

import (
    "C"
    "encoding/json"
    "log"
)

type keydata struct {
    Key   string `json:"key"`
    Error string `json:"Error"`
}

func lookupKey() string {
//simplified to remove the call to web service
    body := "{\"key\": \"blahblah\", \"Error\": \"\"}"

    k := keydata{}
    err := json.Unmarshal([]byte(body), &k)
    if err != nil {
        log.Fatal(err)
    }

    return k.Key
}

//export GetKey
func GetKey() string {
    theKey := lookupKey()
    return theKey
}

func main() {}
Run Code Online (Sandbox Code Playgroud)

如果我用一些硬编码值代替返回的k.Key语句,则一切正常,C或C ++可以调用导出的GetKey函数。当我尝试从k.Key返回解码后的JSON字符串,甚至只是从名为body的变量返回字符串时,我收到一个错误消息:

运行时错误:cgo结果具有Go指针goroutine 17 [正在运行,已锁定到线程]

我正在建立这个如下:

转到build -buildmode = …

go cgo

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