Re: Insert Row to ResultSet - Mailing list pgsql-jdbc
From | Dave Cramer |
---|---|
Subject | Re: Insert Row to ResultSet |
Date | |
Msg-id | 1072121539.1634.84.camel@localhost.localdomain Whole thread Raw |
In response to | Insert Row to ResultSet problem....java.sql.SQLException: No Primary Keys (jasonvanbrackel@speakeasy.net (Jason L. van Brackel)) |
List | pgsql-jdbc |
Jason, A couple of things, 1) can you send us the table definitions, 2) there was a similar post about 2 weeks ago, search the archives 3) I have migrated a db using just access and the postgres odbc driver, you can do a cross db query in access ie sth like insert into postgres table, select from access table. Dave On Tue, 2003-12-16 at 10:24, Jason L. van Brackel wrote: > I'm migrating data from a poorly modeled MS Access 2000 DB to newly > developed PosgreSQL 7.4 DB. I'm connecting to the Access database > using a jdbc-odbc bridge driver. I'm connectin the postgreSQL DB > using the pg74jdbc3.jar driver. > > public static void main(String[] args) { > String[] schools; // Array of SchoolCodes > > MigrationUtil migr = new MigrationUtil(); > // Connect to the Access Database > migr.connectToAccess("Access", "C:\\Working\\Access\\Access.mdb"); > // Connect to the PostgreSQL Database > migr.connectToPostgreSQL("PostgreSQL_Test", "cimTux.cim.internal", > "5432"); > // Get Schools List > System.out.println("Getting List of Schools from access.mdb"); > schools = migr.resultSetToStringArray(migr.queryStatement(migr.ODBCConnection, > "SELECT ftno FROM tblmst WHERE ftcode ='SC'")); > // Start the Main Loop > for(int i = 0; i < schools.length; i++) > { > String currentSchool = schools[i]; // current School Code > ResultSet rs = null; // reusable ResultSet variable > String sql = null; // reusable SQL Statement String > int schoolContactID = 0; // current School ContactID > int schoolAddressID = 0; // current School AddressID > int eduOrgID = 0; // current EduOrganization ID > System.out.println("Current School: " + currentSchool); > // Get School information > sql = "SELECT FtDes, LenderAddress1, LenderCity, LenderState, > LenderZip, " + "LenderAddress2, fsch_code, EINNo FROM tblmst WHERE > ftcode = 'SC' AND ftno = '" + currentSchool + "';"; > rs = migr.queryStatement(migr.ODBCConnection, sql); > // Update school address information > System.out.println("Migrating School Address Info"); > try{ > ResultSet addressInfo = null; // ResultSet for Address Info > sql = "SELECT * FROM address;"; > addressInfo = migr.queryStatement(migr.postgreSQLConnection, sql); > addressInfo.moveToInsertRow(); > ..... this is where I get this exception > java.sql.SQLException: No Primary Keys > at org.postgresql.jdbc2.AbstractJdbc2ResultSet.isUpdateable(AbstractJdbc2ResultSet.java:1363) > at org.postgresql.jdbc2.AbstractJdbc2ResultSet.moveToInsertRow(AbstractJdbc2ResultSet.java:697) > at com.cimconsultants.EFRMigration.MigrationUtil.main(MigrationUtil.java:62) > > Here is the queryStatement(Connection, String) Method > > private ResultSet queryStatement(Connection con, String SQLStatement) > { > ResultSet rs = null; > try { > System.out.println("Query: " + SQLStatement); > Statement stmt = > con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, > ResultSet.CONCUR_UPDATABLE); > rs = stmt.executeQuery(SQLStatement); > }catch(SQLException ex) { > System.out.println("Query SQL Exception"); > ex.printStackTrace(); > System.exit(0); > } > return rs; > } > > I'm experienced with Java, but very new to JDBC and PostgreSQL. I'm > using the JDK 1.4, PostgreSQL 7.4, and the binary pg74jdbc3.jar > driver. > > Thanks in advance, > > Jason L. van Brackel > > ---------------------------(end of broadcast)--------------------------- > TIP 7: don't forget to increase your free space map settings > >
pgsql-jdbc by date: