Whenever I try and run the StatementTest group in NUnit I get the
following error message:
IBatisNet.DataMapper.Test.NUnit.SqlMapTests.StatementTest.TestCustomTypeHandler
: IBatisNet.Common.Exceptions.IBatisNetException : Unable to execute
the sql: other-init.sql
----> ByteFX.Data.MySqlClient.MySqlException : Can't find file:
'.\ibatisnet\c.frm' (errno: 13)
'ibatisnet' is the name of the table in MySql, not a file path relating
to the IBatisNet source code.
If I comment out this line from StatementTest:
InitScript(sqlMap.DataSource, ScriptDirectory + "other-init.sql");
All the tests pass except for the one or two that rely on
other-init.sql.
When I try to run other-init.sql from a mysql prompt the file starts
out ok:
mysql> use IBatisNet;
Database changed
mysql>
mysql> drop table if exists Others;
Query OK, 0 rows affected (0.03 sec)
mysql> drop table if exists A;
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> drop table if exists B;
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> drop table if exists C;
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> drop table if exists D;
Query OK, 0 rows affected (0.05 sec)
mysql> drop table if exists E;
Query OK, 0 rows affected (0.04 sec)
mysql> drop table if exists F;
Query OK, 0 rows affected (0.04 sec)
But eventually I see the same error that I see in NUnit:
mysql>
mysql> CREATE TABLE C (
-> ID varchar(50) NOT MULL ,
-> C_Libelle varchar(50) NULL ,
-> primary key (ID)
-> ) TYPE=INNODB;
ERROR 1017 (HY000): Can't find file: '.\ibatisnet\c.frm' (errno: 13)
The statement after that is executed fine:
mysql> CREATE TABLE B (
-> ID varchar(50) NOT NULL ,
-> C_ID varchar(50) NULL ,
-> D_ID varchar(50) NULL ,
-> B_Libelle varchar(50) NULL ,
-> primary key (ID)
-> ) TYPE=INNODB;
Query OK, 0 rows affected, 1 warning (0.09 sec)
If I change the names of the tables from:
A, B, C, D, etc.
to:
AA, BB, CC, DD, etc.
everything works fine. Could it be that those table names are reserved?
I'm using MySql 4.1.14-nt on a Windows Home machine.
Could someone else running MySql 4.1 run these commands and report
their output:
DROP TABLE IF EXISTS A;
DROP TABLE IF EXISTS B;
DROP TABLE IF EXISTS C;
DROP TABLE IF EXISTS D;
DROP TABLE IF EXISTS E;
DROP TABLE IF EXISTS F;
DROP TABLE IF EXISTS G;
DROP TABLE IF EXISTS H;
DROP TABLE IF EXISTS I;
DROP TABLE IF EXISTS J;
DROP TABLE IF EXISTS K;
DROP TABLE IF EXISTS L;
DROP TABLE IF EXISTS M;
DROP TABLE IF EXISTS N;
DROP TABLE IF EXISTS O;
DROP TABLE IF EXISTS P;
DROP TABLE IF EXISTS Q;
DROP TABLE IF EXISTS R;
DROP TABLE IF EXISTS S;
DROP TABLE IF EXISTS T;
DROP TABLE IF EXISTS U;
DROP TABLE IF EXISTS V;
DROP TABLE IF EXISTS W;
DROP TABLE IF EXISTS X;
DROP TABLE IF EXISTS Y;
DROP TABLE IF EXISTS Z;
CREATE TABLE A (ID varchar(50) NOT NULL);
CREATE TABLE B (ID varchar(50) NOT NULL);
CREATE TABLE C (ID varchar(50) NOT NULL);
CREATE TABLE D (ID varchar(50) NOT NULL);
CREATE TABLE E (ID varchar(50) NOT NULL);
CREATE TABLE F (ID varchar(50) NOT NULL);
CREATE TABLE G (ID varchar(50) NOT NULL);
CREATE TABLE H (ID varchar(50) NOT NULL);
CREATE TABLE I (ID varchar(50) NOT NULL);
CREATE TABLE J (ID varchar(50) NOT NULL);
CREATE TABLE K (ID varchar(50) NOT NULL);
CREATE TABLE L (ID varchar(50) NOT NULL);
CREATE TABLE M (ID varchar(50) NOT NULL);
CREATE TABLE N (ID varchar(50) NOT NULL);
CREATE TABLE O (ID varchar(50) NOT NULL);
CREATE TABLE P (ID varchar(50) NOT NULL);
CREATE TABLE Q (ID varchar(50) NOT NULL);
CREATE TABLE S (ID varchar(50) NOT NULL);
CREATE TABLE R (ID varchar(50) NOT NULL);
CREATE TABLE T (ID varchar(50) NOT NULL);
CREATE TABLE U (ID varchar(50) NOT NULL);
CREATE TABLE V (ID varchar(50) NOT NULL);
CREATE TABLE W (ID varchar(50) NOT NULL);
CREATE TABLE X (ID varchar(50) NOT NULL);
CREATE TABLE Y (ID varchar(50) NOT NULL);
CREATE TABLE Z (ID varchar(50) NOT NULL);
I was able to create most of the tables ok but I wasn't able to create
the tables mentioned in the subject:
mysql> CREATE TABLE K (ID varchar(50) NOT NULL);
Query OK, 0 rows affected (0.18 sec)
mysql> CREATE TABLE L (ID varchar(50) NOT NULL);
ERROR 1017 (HY000): Can't find file: '.\ibatisnet\l.frm' (errno: 13)
mysql> CREATE TABLE M (ID varchar(50) NOT NULL);
Query OK, 0 rows affected (0.08 sec)
Thanks,
Ron