Im using Symmetric 3.7.32 and everything was looking just fine.
but now im encountring the following error in the LOG
We had to delete /opt/symmetric-server-3.7.32/tmp/store-001/bulkloaddir/usuarios483.csv.create because it already existed
2016-05-03 12:31:48,527 INFO [store-001][RouterService][store-001-job-20] Routing heartbeat, data.enqueue.time.ms=0, data.events.insert.count=1, data.events.insert.time.ms=109236, data.read.total.time.ms=0, data.routed.count=1, data.router.time.ms=14722, total.time.ms=255147
2016-05-03 12:32:19,082 ERROR [store-001][AcknowledgeService][store-001-push-1] The outgoing batch 000-346 failed. Cannot bulk load because the file "/opt/symmetric-server-3.7.32/tmp/corp-000/bulkloaddir/usuarios346.csv.create" could not be opened. Operating system error code 3(The system cannot find the path specified.).
The weird part is that the file is there.
Sym is running as ROOT and yet the problem persist. Any cluees?
(Yes the network is really bad, running on a ... sat uplink as contingency)
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Are you familiar with the property mssql.bulk.load.unc.path in your properties file when dealing with SQL Server bulk loader where SQL Server is on a separate server from the SymmetricDS server?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
To elaborate on Nathan's answer - SQL Server (from the Windows machine) needs to have visibility to the location of the .csv file. It can't directly reach out and load it from the Linux path on the server (/opt/symmetric-server-3.7.32/tmp). So the windows box needs to be able to "see" the location where the csv is located.
You'll need create a UNC network share to a directory like this:
/opt/symmetric-server-3.7.32/tmp/corp-000/bulkloaddir/
So, for example maybe you share that directory as:
\symmetricserver\corp-000\bulkloaddir
Once the share is in place, use the Configure > Parameters screen to set the mssql.bulk.load.unc.path like this:
mssql.bulk.load.unc.path=\symmetricserver\corp-000\bulkloaddir
Once the property is in place, make sure to restart the SymmetricDS service.
Hope this helps.
Mark
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I am using Symmetric DS to load the data from Unix server to MS SQL server(Window machine). My csv file "emp_data.csv" exist on the Unix box under "/sure/dataload" file system.
I added the mssql.bulk.load.unc.path=\sure\dataload\emp.csv in the store file and using below command to load the file using bulk insert command.
still getting the below error. Not sure what i am missing here.
Error: java.sql.SQLException: Cannot bulk load because the file "emp_data.csv" could not be opened. Operating system error code 3(The system cannot find the path specified.).
Please suggest the command and help to load the data.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
dbsql will send the SQL command directly to the database and does not use the mssql.bulk.load.unc.path parameter. The mssql.bulk.load.unc.path parameter is only used by the code in the MS SQL Bulk loader.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi,
Im using Symmetric 3.7.32 and everything was looking just fine.
but now im encountring the following error in the LOG
We had to delete /opt/symmetric-server-3.7.32/tmp/store-001/bulkloaddir/usuarios483.csv.create because it already existed
2016-05-03 12:31:48,527 INFO [store-001] [RouterService] [store-001-job-20] Routing heartbeat, data.enqueue.time.ms=0, data.events.insert.count=1, data.events.insert.time.ms=109236, data.read.total.time.ms=0, data.routed.count=1, data.router.time.ms=14722, total.time.ms=255147
2016-05-03 12:32:19,082 ERROR [store-001] [AcknowledgeService] [store-001-push-1] The outgoing batch 000-346 failed. Cannot bulk load because the file "/opt/symmetric-server-3.7.32/tmp/corp-000/bulkloaddir/usuarios346.csv.create" could not be opened. Operating system error code 3(The system cannot find the path specified.).
The weird part is that the file is there.
Sym is running as ROOT and yet the problem persist. Any cluees?
(Yes the network is really bad, running on a ... sat uplink as contingency)
Are you familiar with the property mssql.bulk.load.unc.path in your properties file when dealing with SQL Server bulk loader where SQL Server is on a separate server from the SymmetricDS server?
Efrain,
To elaborate on Nathan's answer - SQL Server (from the Windows machine) needs to have visibility to the location of the .csv file. It can't directly reach out and load it from the Linux path on the server (/opt/symmetric-server-3.7.32/tmp). So the windows box needs to be able to "see" the location where the csv is located.
You'll need create a UNC network share to a directory like this:
/opt/symmetric-server-3.7.32/tmp/corp-000/bulkloaddir/
So, for example maybe you share that directory as:
\symmetricserver\corp-000\bulkloaddir
Once the share is in place, use the Configure > Parameters screen to set the mssql.bulk.load.unc.path like this:
mssql.bulk.load.unc.path=\symmetricserver\corp-000\bulkloaddir
Once the property is in place, make sure to restart the SymmetricDS service.
Hope this helps.
Mark
I am using Symmetric DS to load the data from Unix server to MS SQL server(Window machine). My csv file "emp_data.csv" exist on the Unix box under "/sure/dataload" file system.
I added the mssql.bulk.load.unc.path=\sure\dataload\emp.csv in the store file and using below command to load the file using bulk insert command.
./dbsql --engine=store-001 --sql=" BULK INSERT EMP FROM 'emp_data.csv' WITH(FIRSTROW = 2,FIELDTERMINATOR = ',', ROWTERMINATOR = '\n', ERRORFILE = 'emp_load_error.csv',TABLOCK ) "
still getting the below error. Not sure what i am missing here.
Error: java.sql.SQLException: Cannot bulk load because the file "emp_data.csv" could not be opened. Operating system error code 3(The system cannot find the path specified.).
Please suggest the command and help to load the data.
Surendra, see Mark's post over here: https://sourceforge.net/p/symmetricds/discussion/739235/thread/eb8a8f13/
dbsql will send the SQL command directly to the database and does not use the mssql.bulk.load.unc.path parameter. The mssql.bulk.load.unc.path parameter is only used by the code in the MS SQL Bulk loader.