Может быть, вы можете сделать это за пределами Python.
Рассмотрим следующую таблицу ...
create table t1 (
k int not null,
v varchar(255) null,
city varchar(255) null)
go
... и файл "file.txt"
1,Line 1
2,Line 2
3,Line 3
4,Line 4
5,Line 5
Не указывайте пустую строку в конце файла.
Используйте «Stream EDitor» для добавления дополнительного столбца, в данном случае «CityA»
cat file.txt | sed s/$/\,CityA/g > file_2.txt
cat file_2.txt
1,Line 1,CityA
2,Line 2,CityA
3,Line 3,CityA
4,Line 4,CityA
5,Line 5,CityA
Убедитесь, что база данных настроена для массового копирования, ваш администратор базы данных может помочь с этим.
use master
go
sp_dboption 'db_name', 'select', true
go
Затем используйте утилиту bcp Sybase для загрузки файла:
bcp database.owner.table in file_2.txt -U login -S server -c -t, -Y -b 1000
Параметры приведены ниже.:
- Имя базы данных
- Владелец объекта
- Имя таблицы
- Направление в
- Имя файла
- -U Имя пользователя
- -S имя сервера (имя экземпляра Sybase, а не имя физического хоста)
- -c = Использовать символьные данные
- -t, = терминатор поля равен,
- -Y Преобразование набора символов на стороне клиента - может не потребоваться
- -b 1000 = Зафиксировать 1000 строк одновременно.Если вы загружаете 500 МБ, вы, вероятно, хотите этого, чтобы не нажимать LOG_SUSPEND.