小编Mar*_*ese的帖子

服务器'服务器上的MSDTC不可用

我在SQL Server上遇到这个奇怪的错误.我在旧帖子中找不到解决方案.

我有这个程序:

create proc _upJM_SyncAll_test
as
begin
    DECLARE @SQLString nvarchar(max)

set @SQLString = N'
DELETE FROM OPENQUERY([LOCAL_MYSQL],''SELECT acSubject FROM _utjm_setitemprices'') where acSubject not in (select acSubject from _uvJM_SetSubj)
DELETE FROM OPENQUERY([LOCAL_MYSQL],''SELECT acSubject FROM _utjm_setsubj'') where acSubject not in (select acSubject from _uvJM_SetSubj)

update a
set acName2 = b.acName2,
    acName3 = b.acName3,
    acAddress = b.acAddress,
    acPost = b.acPost,
    acPostName = b.acPostName, 
    acCountry = b.acCountry, 
    acVATCodePrefix = b.acVATCodePrefix,
    acCode = b.acCode, 
    anDaysForPayment = b.anDaysForPayment
from OPENQUERY([LOCAL_MYSQL],''SELECT * FROM _utjm_setsubj'') a join …
Run Code Online (Sandbox Code Playgroud)

sql-server msdtc linked-server

46
推荐指数
3
解决办法
6万
查看次数

实现软删除的最佳方法是什么?

目前正在处理项目,我们必须为大多数用户(用户角色)实施软删除.我们决定在数据库中的每个表上添加"is_deleted ='0'"字段,如果特定用户角色点击特定记录上的删除按钮,则将其设置为"1".

对于将来的维护,每个SELECT查询都需要确保它们不包含is_deleted ='1'的记录.

是否有更好的解决方案来实现软删除?

更新:我还应该注意到,我们有一个Audit数据库,用于跟踪Application数据库中所有表/字段的更改(字段,旧值,新值,时间,用户,ip).

sql database backup database-design

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

Conda版本pip install -r requirements.txt --target ./lib

什么是conda版本

--target ./lib

我找到了这些命令 --target ./lib

但它没有告诉如何指定--target ./lib

谢谢.

pip virtualenv anaconda conda

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

将Pandas DataFrame转换为JSON格式

我有一个DataFrame带有两列的Pandas - 一个带有文件名,一个带有生成它的小时:

 File       Hour
  F1         1
  F1         2
  F2         1
  F3         1
Run Code Online (Sandbox Code Playgroud)

我试图将其转换为具有以下格式的JSON文件:

{"File":"F1","Hour":"1"} 
{"File":"F1","Hour":"2"}
{"File":"F2","Hour":"1"}
{"File":"F3","Hour":"1"}
Run Code Online (Sandbox Code Playgroud)

当我使用该命令时DataFrame.to_json(orient = "records"),我得到以下格式的记录:

[{"File":"F1","Hour":"1"},
 {"File":"F1","Hour":"2"},
 {"File":"F2","Hour":"1"},
 {"File":"F3","Hour":"1"}]
Run Code Online (Sandbox Code Playgroud)

我只是想知道是否有一个选项可以获得所需格式的JSON文件.任何帮助,将不胜感激.

json dataframe pandas

26
推荐指数
5
解决办法
6万
查看次数

websocket.send()参数

通常我们只将我们想要发送的数据作为websocket.send()方法的参数,但我想知道是否有其他参数,如IP,我们可以放在括号内.我们可以这样使用它:

websocket.send(ip, data);  // send data to this ip address
Run Code Online (Sandbox Code Playgroud)

或者我应该打电话给其他方法?

javascript send websocket

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

如何用Flask-cache和redis缓存sql炼金术调用?

我有一个烧瓶应用程序,它从Web表单中获取参数,查询DB w/SQL炼金术并返回一个jinja生成的模板,显示包含结果的表.我想缓存对DB的调用.我查看了redis,使用redis作为postgres的LRU缓存 - 这引导我到http://pythonhosted.org/Flask-Cache/

现在我尝试使用redis + flask-cache来缓存对数据库的调用.基于Flask-Cache文档,我似乎需要设置自定义redis缓存.

class RedisCache(BaseCache):
    def __init__(self, servers, default_timeout=500):
        pass

def redis(app, config, args, kwargs):
   args.append(app.config['REDIS_SERVERS'])
   return RedisCache(*args, **kwargs)
Run Code Online (Sandbox Code Playgroud)

从那里我需要类似的东西

# not sure what to put for args or kwargs
cache = redis(app, config={'CACHE_TYPE': 'redis'})

app = Flask(__name__)
cache.init_app(app)
Run Code Online (Sandbox Code Playgroud)

我有两个问题:

首先:我为args和kwargs做什么?这些是什么意思?如何使用flask缓存设置redis缓存?

第二:一旦设置了缓存,似乎我想以某种方式" 记住 "DB的调用,这样如果方法得到相同的查询,它就会缓存输出.我该怎么做呢?我最好的猜测是将SQL炼金术的调用包装在一个方法中,然后可以给memoize装饰器?这样,如果将两个相同的查询传递给方法,flask-cache将识别出这一点并返回相应的响应.我猜它会是这样的:

@cache.memoize(timeout=50)
def queryDB(q):
    return q.all()
Run Code Online (Sandbox Code Playgroud)

这似乎是一个相当普遍的使用redis + flask + flask-cache + sql炼金术,但我无法找到一个完整的例子.如果有人可以发布一个,这将是非常有用的 - 但对我和其他人来说.

python sqlalchemy redis flask flask-cache

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

C - 错误:'a'的存储大小未知

这是我的C程序......

#include <stdio.h>

struct xyx {
    int x;
    int y;
    char c;
    char str[20];
    int arr[2];
};

int main(void)
{
    struct xyz a;
    a.x = 100;
    printf("%d\n", a.x);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

这是我得到的错误....

按ENTER或键入命令继续

13structtest.c: In function ‘main’:
13structtest.c:13:13: error: storage size of ‘a’ isn’t known
13structtest.c:13:13: warning: unused variable ‘a’ [-Wunused-variable]

c gcc struct

21
推荐指数
4
解决办法
9万
查看次数

如何在SQLAlchemy中设置连接超时

我试图找出如何设置连接超时create_engine(),到目前为止我已经尝试过:

create_engine(url, timeout=10)
Run Code Online (Sandbox Code Playgroud)

TypeError:使用配置PGDialect_psycopg2/QueuePool/Engine发送到create_engine()的无效参数'timeout'.请检查关键字参数是否适合此组件组合.

create_engine(url, connection_timeout=10)
Run Code Online (Sandbox Code Playgroud)

TypeError:使用配置PGDialect_psycopg2/QueuePool/Engine发送到create_engine()的无效参数'connection_timeout'.请检查关键字参数是否适合此组件组合.

create_engine(db_url, connect_args={'timeout': 10})
Run Code Online (Sandbox Code Playgroud)

(psycopg2.OperationalError)无效的连接选项"timeout"

create_engine(db_url, connect_args={'connection_timeout': 10})
Run Code Online (Sandbox Code Playgroud)

(psycopg2.OperationalError)无效的连接选项"connection_timeout"

create_engine(url, pool_timeout=10)
Run Code Online (Sandbox Code Playgroud)

我该怎么办?

python postgresql sqlalchemy psycopg2

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

如何在VueJS单文件组件中正确使用"范围"样式?

文档上VueJS指出,"作用域"应该限制样式组件.但是,如果我创建具有相同"baz"样式的2个组件,它将从一个组件泄漏到另一个组件:

scoped

<template>
<div class="baz">
  <Bar></Bar>
</div>
</template>

<style scoped>
.baz {
  color: red;
}
</style>
Run Code Online (Sandbox Code Playgroud)

baz

<template>
<div class="baz">bar</div>
</template>

<style scoped>
.baz {
  background-color: blue;
}
</style>
Run Code Online (Sandbox Code Playgroud)

我希望"baz"在两个组件中都会有所不同.但是在生成一个网页后,我可以看到蓝色背景上的红色文字,这意味着"foo"的范围风格会影响"bar"组件.生成的代码如下所示:

<div class="baz" data-v-ca22f368>
  <div class="baz" data-v-a0c7f1ce data-v-ca22f368>
    bar
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

如您所见,VueJS通过在"bar"组件中指定两个数据属性来有意生成"泄漏".但为什么?

vue.js vuejs2

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

点击API时curl vs python"requests"

我试图为我的帐户点击Bitbucket API,成功的尝试看起来像:

curl --user screename:mypassword https://api.bitbucket.org/1.0/user/repositories

在命令行中.在python中,我尝试:

import requests
url = 'https://api.bitbucket.org/1.0/user/repositories'
Run Code Online (Sandbox Code Playgroud)

然后

r = requests.post(url, data={'username': myscreename, 'password':mypassword})
Run Code Online (Sandbox Code Playgroud)

r = requests.post(url, data="myscreename:mypassword")
Run Code Online (Sandbox Code Playgroud)

r = requests.post(url, data={"user": "myscreename:mypassword"})
Run Code Online (Sandbox Code Playgroud)

都得到405错误.API为https://confluence.atlassian.com/display/BITBUCKET/Use+the+Bitbucket+REST+APIs

我想知道:

  1. 我在请求版本中做错了什么,它们看起来与我的curl尝试类似

  2. 请求curl和python请求模块有什么区别?在使用curl示例读取API然后在python中编写它时,我可以识别哪种一般模式?

谢谢

回答:

它需要正确的标题

https://answers.atlassian.com/questions/18451025/answers/18451117?flashId=-982194107

更新:

# ===============
# get user
# ===============
import requests
import json

# [BITBUCKET-BASE-URL], i.e.: https://bitbucket.org/
url = '[BITBUCKET-BASE-URL]/api/1.0/user/'
headers = {'Content-Type': 'application/json'}

# get user
# [USERNAME], i.e.: myuser
# [PASSWORD], i.e.: itspassword
r = requests.get(url, auth=('[USERNAME]', '[PASSWORD]'), headers=headers)
print(r.status_code) …
Run Code Online (Sandbox Code Playgroud)

python curl bitbucket-api python-requests

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