当数据库名称与用户名不同时,我在尝试连接到指定数据库名称的oracle数据库时遇到问题。
我曾经使用下一个String进行连接。 但在这种情况下,数据库的Schema与用户名相同。
String con = "data source= (DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = " + host + ")(PORT = " + port + ")))(CONNECT_DATA =(SERVICE_NAME = " + servicename + ")));
USER ID=" + user + ";
PASSWORD=" + pass;
所以登录的查询就像
SELECT * FROM usuarios WHERE usuario='545478';
现在我有一个conexion的新用户,与Schema不同,所以现在我需要使用Schema名称更改所有sql查询。 例如,如果模式名称为PRODUCTION_DB,则查询需要更改为:
SELECT * FROM PRODUCTION_DB.usuarios WHERE usuario='545478';
但我不想更改代码中的所有查询。我更喜欢在MySQL中指定数据库名称。
如何更改de String连接以添加数据库名称?
例如:
String con = "data source= (DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = " + host + ")(PORT = " + port + ")))(CONNECT_DATA =(SERVICE_NAME = " + servicename + ")));
USER ID=" + user + ";PASSWORD=" + pass;
DATABASE = "PRODUCTION_DB";
答案 0 :(得分:1)
尝试此连接字符串:
instance member 'name' cannot be used on type 'clothing_category.'
其中:
答案 1 :(得分:1)
可以通过以下方式完成:
OracleConnection connection = new OracleConnection(connectionString);
connection.Open();
OracleCommand cm = connection.CreateCommand();
cm.CommandText = "ALTER SESSION SET CURRENT_SCHEMA = PRODUCTION_DB";
cm.ExecuteNonQuery();