我在尝试通过 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 文件上传到我的数据库的任何其他选项吗?
慕桂英4014372
白衣非少年
相关分类