小编S.G*_*.G.的帖子

pysmb 将文件从 Ubuntu 复制到 Windows 网络共享文件夹

在 Ubuntu 中,我可以使用 pysmb 连接到 Windows 网络共享,然后列出所有可用共享并列出该共享根目录下的所有文件和文件夹,但不会再进一步​​。我需要访问共享路径中的 5 个文件夹级别的文件夹,以将文件复制到该位置,并且无法越过文件共享的根级别。

我尝试在路径之间使用正斜杠和反斜杠(单斜杠和双斜杠),并尝试以任何一种方式包含和排除尾随斜杠。我只尝试了 1 个级别,也尝试了每个级别。

from smb.SMBConnection import SMBConnection

userid = 'myid'
password = 'mypassword'
client = 'clientMachine'
remote = 'remoteMachine'
server_ip = '5.5.5.5'

conn = SMBConnection(userid, password, client, remote, domain='MYDOM',use_ntlmv2 = True)
assert conn.connect(server_ip, 139)
sharelist = conn.listShares()
for s in sharelist:
    print(s.name)
filelist = conn.listPath('Shared','/')
for f in filelist:
    print(f.filename)

conn.close()
Run Code Online (Sandbox Code Playgroud)

如果我在 listPath 调用中包含除 '/' 以外的任何其他路径,即使我正在尝试的路径列在打印语句中,也会找不到路径:

Traceback (most recent call last):
  File "testsmb.py", line 14, in <module>
    filelist = conn.listPath('Shared', '/Corp/') …
Run Code Online (Sandbox Code Playgroud)

python samba pysmb

5
推荐指数
0
解决办法
744
查看次数

Sybase BCP 与 MS SQL BCP

我有一个需要使用的多数据库设置,并且两者都有自己的 bcp 版本,它们的行为方式不同。此外,两者都在我的 %PATH% 中,并且 Sybase 一个列在 MS SQL exe 之前,因此从命令行调用“bcp”总是会命中 Sybase exe。

首先,版本是“不同的”:

Sybase BCP: Sybase CTBCP Utility/15.0/P-EBF17890 ESD #24/PC Intel/BUILD1500-123/OPT/Thu May 13 02:45:43 2010(适用于 Adaptive Server Enterprise/15.7/EBF 23008 SMPRS SP1600P /AIX 6.1/ase157sp13x/3819/64-bit/FBO/Sat Aug 23 02:49:06 2014)

MS SQL BCP: 版本:11.0.2100.60(查询命中 SQL 2008 R2 和 2012 SP3 dbs)

他们绝对不会以相同的方式处理文件的输出,并且每个文件的文档都显示了这一点。我在 bcp 上读到的所有内容都说 bcp 在 Sybase 和 MS SQL 之间的工作方式应该相同,但我必须调用完整的 MS SQL bcp.exe 路径来调用 MS SQL 的查询输出,因为 Sybase bcp 不以相同的方式支持查询输出。

我的过程使用批处理脚本调用多个查询,这些查询命中 Sybase DBS,然后 MS SQL 数据库将数据输出到暂存数据库,我是否总是必须区分 Sybase 和 MS SQL bcp,还是我可以只使用一个而没有问题?如果是这样,哪个是“正确”的使用(不是试图在这里引发关于哪个更好的辩论)。此外,我没有看到任何表明版本号有任何关系的东西,所以知道哪个是“最新的”并且使用那个是很困难的。

sql-server bcp sap-ase

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

标签 统计

bcp ×1

pysmb ×1

python ×1

samba ×1

sap-ase ×1

sql-server ×1