Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 通过Oracle的Ms Access PassTour更改会话_Sql_Vba_Oracle_Ms Access - Fatal编程技术网

Sql 通过Oracle的Ms Access PassTour更改会话

Sql 通过Oracle的Ms Access PassTour更改会话,sql,vba,oracle,ms-access,Sql,Vba,Oracle,Ms Access,我需要执行这个命令,如果我通过ADODB执行它,它将非常有效 ADOConn.Execute ("ALTER session set NLS_DATE_FORMAT=""DD.MM.YYYY"" ") 因为我需要连接来自不同系统的多个数据库,所以我切换到passTour查询,以便稍后连接它们。现在,我需要通过passTour查询更改日期格式,但这不起作用 ALTER session set NLS_DATE_FORMAT="DD.MM.YYYY" 我在执行select命令之前执行此命令。 我

我需要执行这个命令,如果我通过ADODB执行它,它将非常有效

ADOConn.Execute ("ALTER session set NLS_DATE_FORMAT=""DD.MM.YYYY"" ")
因为我需要连接来自不同系统的多个数据库,所以我切换到passTour查询,以便稍后连接它们。现在,我需要通过passTour查询更改日期格式,但这不起作用

ALTER session set NLS_DATE_FORMAT="DD.MM.YYYY"
我在执行select命令之前执行此命令。 我得到这个错误:

ODBC--call failed.
[ORACLE][ODBC][ORA]ORA-00922: missing or invalid option (#922)

我错过了什么?我试图弄乱引号,但没有成功。

好吧,这样的命令只适用于给定的连接

所以你有这个:

ALTER session set NLS_DATE_FORMAT="DD.MM.YYYY";
SELECT * from tblHotels;
请注意,在一次传递查询中,我们有两个命令语句。我假设你也在做同样的事情?测试并尝试使用Oracle控制台,因为如果您发送的原始sql在Oracle控制台上/从Oracle控制台上不起作用,那么它肯定不会按照上述方式工作。因此,您可以(也应该)在一个pt查询中包含多个命令—我使用“;”作为命令分隔符—但使用对oracle有效的命令。因此,您必须通过oracle控制台让您的命令工作,然后将它们一个接一个地放到PT查询中


如果要单独执行命令,则如前所述,必须将returns records设置为false。但正如ntoed所说,设置会话只适用于一个PT查询,而不是每个发送的查询,因为每次执行PT查询时都使用新的连接和会话。因此,您可能必须在select命令之前包含date format命令。如前所述,您可以在单个PT查询中叠加并包含尽可能多的命令。因此,只需将“no count”和其他几个命令叠加起来,然后包括alter sessio,最后在单PT查询的at处,包含SELECT命令。< /P>是否在通过查询中设置返回记录属性为false?考虑避免会话变量,并用于处理日期显示:<代码>选择ToTyChar(SysDead,D.M.yyyy)作为Max DealDebug;<代码>