10-21-2012 08:54 PM
I am new to the SAS programming.
I need to insert a sas dataset into a SQL server table using a SAS program in the UNIX environment.
I can create a connection to the SQL server. Need the command to insert dataset to SQL server table.
10-22-2012 09:00 AM
After seeing other answers, I am now a bit confused about what you were asking for. I thought you asked how to insert(not sure what you mean by that though, suppose Art's answer will cover that) a SAS table into SQL server dataset. If that is the case, it will be about SAS/ACCESS (depending on what license you have, it could be SQL server, ODBC or OLE DB driver, run proc setinit; to check it.). My suggestion will be:
1. Use either libname engine or other to assign a libref pointing to SQL server workspace, the detailed SAS statements will vary a little depending on what kind of engine you are using, check SAS docs for more. Then convert your SAS table into SQL server dataset. It could be as simple as the following:
data SQL.want; /*SQL server dataset*/
set SAS.have;/*SAS table*/
2. Then you can use whatever client apps native to SQL server to do the 'insert', or use SAS pass-through.
10-22-2012 11:39 AM
Inserting in relational database can be done using proc dbload. SAS/ACCESS provides an interface to do this, provided your site should have the necessary licence to do this.
Hope this helps.
Like native sql server sql. you don't need to create the structure, inserting separately. SAS/ACCESS interface provides this functionality. you don't need to worry about defining the datatypes as per sql server.