如何在将数据从 python 推送到 sql 服务器时避免 bcpy(批量复制 python)中的 dbo
how to avoid dbo in bcpy(bulk copy python) while pushing the data into sql server from python
我正在尝试使用 python 中的 bcpy 将数据从 pandas 数据帧推送到 sql 服务器 table脚本。
database : db_name
table : schema_name.table_name
但默认情况下它会在 运行 时创建 dbo 架构并抛出如下错误:
A valid table name is required for in, out, or format options.
db_name.dbo.schema_name.table_name
实际上,我将模式名称命名为 schema_name
。
如何避免默认架构名称dbo
?
如果我给出架构名称,
database : database_name
schema : schema_name
table : table_name
它创建了 database_name.schema_name.table_name
。
但仍然显示
A valid table name is required for in, out, or format options.
failed : Bcp command failed
在提及 table 名称时无需提及架构名称。
您可以使用以下 bcp 命令将数据从 csv 文件上传到 table。将您的数据帧写入 csv 文件,然后执行以下命令。
df.to_csv("data.csv",index=False)
command = 'bcp "dbo.table_name" in "data.csv" -S"server_name" -d"DB_name" -F2 -c -t"," - U"user_name" -P"password" -e error.txt'
os.system(command)
尝试在方括号中提及数据库、架构和 table 名称,看看是否可行。
database : [database_name]
schema : [schema_name]
table : [table_name]
用于 SQL 服务器的 BCP(批量复制程序)实用程序应该安装在您的机器上。
数据库详细信息应为字典形式
sql_config = {database : database_name
schema : schema_name
table : table_name}
如果没有指定模式名称,默认情况下 dbo
将是模式名称。
将所有输入放入 bcp
命令时,sql table 名称将是 database_name.schema_name.table_name
我正在尝试使用 python 中的 bcpy 将数据从 pandas 数据帧推送到 sql 服务器 table脚本。
database : db_name
table : schema_name.table_name
但默认情况下它会在 运行 时创建 dbo 架构并抛出如下错误:
A valid table name is required for in, out, or format options.
db_name.dbo.schema_name.table_name
实际上,我将模式名称命名为 schema_name
。
如何避免默认架构名称dbo
?
如果我给出架构名称,
database : database_name
schema : schema_name
table : table_name
它创建了 database_name.schema_name.table_name
。
但仍然显示
A valid table name is required for in, out, or format options.
failed : Bcp command failed
在提及 table 名称时无需提及架构名称。
您可以使用以下 bcp 命令将数据从 csv 文件上传到 table。将您的数据帧写入 csv 文件,然后执行以下命令。
df.to_csv("data.csv",index=False)
command = 'bcp "dbo.table_name" in "data.csv" -S"server_name" -d"DB_name" -F2 -c -t"," - U"user_name" -P"password" -e error.txt'
os.system(command)
尝试在方括号中提及数据库、架构和 table 名称,看看是否可行。
database : [database_name]
schema : [schema_name]
table : [table_name]
用于 SQL 服务器的 BCP(批量复制程序)实用程序应该安装在您的机器上。
数据库详细信息应为字典形式
sql_config = {database : database_name schema : schema_name table : table_name}
如果没有指定模式名称,默认情况下 dbo
将是模式名称。
将所有输入放入 bcp
命令时,sql table 名称将是 database_name.schema_name.table_name