Сегодня у меня была очень похожая проблема - мне нужно было скопировать большую таблицу (5 миллионов строк) из MySql в MS SQL.
Вот шаги, которые я сделал (в Ubuntu Linux):
mysqldump \ --compact \ --complete-insert \ --no-create-info \ --compatible=mssql \ --extended-insert=FALSE \ --host "$MYSQL_HOST" \ --user "$MYSQL_USER" \ -p"$MYSQL_PASS" \ "$MYSQL_DB" \ "$TABLE" > "$FILENAME"
split --lines=1000 "$FILENAME" part-
export SQLCMD=/opt/mssql-tools/bin/sqlcmd x=0 for file in part-* do echo "Exporting file [$file] into MS SQL. $x thousand(s) processed" # replaces \' with '' sed -i "s/\\\'/''/g" "$file" # removes all " sed -i 's/"//g' "$file" # allows to insert records with specified PK(id) sed -i "1s/^/SET IDENTITY_INSERT $TABLE ON;\n/" "$file" "$SQLCMD" -S "$AZURE_SERVER" -d "$AZURE_DB" -U "$AZURE_USER" -P "$AZURE_PASS" -i "$file" echo "" echo "" x=$((x+1)) done echo "Done"
Конечно, вам нужно будет заменить мои переменные, такие как $AZURE_SERVER
, $TABLE
, и т.д с твоим.
Надеюсь, что это поможет.
Мне пришлось изменить определение на что-то вроде:
@Column(name = "requestTimestamp")
@JsonFormat(shape=JsonFormat.Shape.STRING, pattern="yyyy-MM-dd'T'HH:mm:ss.SSS'Z'", timezone="Europe/Berlin")
private Timestamp requestTimestamp;
Вызов cURL будет:
$ curl -i -X POST -H "Content-Type:application/json" -d "{ \"productId\": \"Product ID\", \"requestTimestamp\": \"2017-07-16T22:54:01.754Z\", \"stock\" : { \"id\": \"Stock ID\", \"timestamp\": \"2000-07-16T22:54:01.754Z\", \"quantity\": \"250\" }}" http://localhost:8080/api/v1/products/createProduct
Хранилище базы данных: