为了账号安全,请及时绑定邮箱和手机立即绑定

尝试在 Python 中使用 bcp 将 CSV 上传到数据库时出现问题

尝试在 Python 中使用 bcp 将 CSV 上传到数据库时出现问题

至尊宝的传说 2022-11-01 14:53:53
我在尝试通过 bcp 将 CSV 文件上传到 Azure MS SQL 数据库时遇到问题。我正在使用Bcpy工具来实现这一点。这是我正在运行的脚本:sql_config = {            'server': 'sql_server_hostname',            'database': 'database_name',            'username': 'user',            'password': 'password'        }        sql_table_name = 'test_data1'        csv_file_path = 'data1.csv'            #File in the script directory        flat_file = bcpy.FlatFile(qualifier='', path=csv_file_path)        sql_table = bcpy.SqlTable(sql_config, table=sql_table_name)        flat_file.to_sql(sql_table)运行脚本后,我收到以下错误:<ipython-input-11-97d18f6b2041> in function()    263         flat_file = bcpy.FlatFile(qualifier='', path=csv_file_path)    264         sql_table = bcpy.SqlTable(sql_config, table=sql_table_name)--> 265         flat_file.to_sql(sql_table)    266     267 c:\users\user\appdata\local\programs\python\python37\lib\site-packages\bcpy\data_objects.py in to_sql(self, sql_table, use_existing_sql_table, batch_size)    157                 ),    158                 username=sql_table.username,--> 159                 password=sql_table.password)    160         bcp(sql_table=sql_table, flat_file=self, batch_size=batch_size)    161 c:\users\user\appdata\local\programs\python\python37\lib\site-packages\bcpy\binary_callers.py in sqlcmd(server, database, command, username, password)     81                      ['-s,', '-W', '-Q', command]     82     result = subprocess.run(sqlcmd_command, stdout=subprocess.PIPE,---> 83                             stderr=subprocess.PIPE)     84     if result.returncode:     85         result_dump = str(result).replace(password, sha512(password))填充“sql_table_name”参数时,我尝试使用“test_data1”和“dbo.test_data1”。由于它是一个 Azure MS SQL 数据库,因此服务器参数的写法如下:“servername.database.windows.net”你知道这可能是什么原因吗?您知道将 CSV 文件上传到我的数据库的任何其他选项吗?
查看完整描述

2 回答

?
慕桂英4014372

TA贡献1871条经验 获得超13个赞

错误是:

FileNotFoundError: [WinError 2] The system cannot find the specified file

你确定以下行

csv_file_path = 'data1.csv'            #File in the script directory

是文件的完整路径吗?


查看完整回答
反对 回复 2022-11-01
?
白衣非少年

TA贡献1155条经验 获得超0个赞

我遇到了同样的问题(在底层 bcpy 库中的同一行代码上)。

我的问题是,虽然我通过Microsoft Command Line Utilities for SQL Server 15(链接:https ://learn.microsoft.com/en-us/sql/tools/bcp-utility?view=sql-server-ver15 )安装了 bcp,但我没有重新安装打开我的 cmd 提示符,因此无法使用 sqlcmd/bcp 命令。

重启cmd后,完美运行!


查看完整回答
反对 回复 2022-11-01
  • 2 回答
  • 0 关注
  • 168 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信