I have compiled 5 cycles of survey data (so I have repeated cross sectional data). I want to add province-year fixed effects to my 2SLS regression, which doesn't seem possible with ivreg2.

Simple data format (n=30,000):
INDIVIDUAL ID PROVINCE YEAR
0001 British Columbia 1999
0002 British Columbia 1999
0003 British Columbia 2003
0004 British Columbia 2003
0005 British Columbia 2003
0006 Alberta 1999
0007 Alberta 1999
0008 Alberta 2003

The two options I'm considering are:

1. Entering dummy variables for i.province and i.year into an ivreg2 model. I'm not sure this is a valid approach because I haven't seen it used in 2SLS before and I'm not using panel data. The model would be:

Code:
ivreg2 y (x=z) control_1 control_2 i.year i.province
2. The second option is using xtivreg even though my data isn't panel data. When I try to set the province and year using
Code:
xtset province year
I get an error saying "repeated time values within panel". I can add only add one of province or year, so my model would be:

Code:
xtset province
xtivreg y (x=z) control_1 control_2 i.year, fe
Do either of these models make sense? Is there an easier way to do this? I'm a beginner, so if I'm way off base, please let me know!