Hey there,
Do you have any more details? Which connector are you using? If your table has no primary key, do you have a collection of columns that could serve as a proxy for a primary key?
I currently have a situation like this in my Oracle source data. What I do is make use of the message.key.columns config to "simulate" a primary key based on multiple columns in my source data (see below). If you do this, the incremental ad hoc snapshot will run and you won't get that error about not having a primary key. You'll have to check the documentation though for your specific connector.
message.key.columns=DC.DC_CRANE_INSTRUC_CARTON_TRACK:CRANE_MOVEMENT_ID_NO,CRANE_SOURCE_MOVEMENT_ID_NO,COMPANY_NAME,PALLET_ID_NO,ORDER_NO