我在我的Windows 7 64位机器上安装了squirrel客户端3.4.0.
我看到一个松鼠客户端设置文件夹
".squirrel-SQL"
创建于:
C:\ Users \用户ayusman \
有没有办法我可以指定文件夹位置在我的松鼠安装位置,即
"C:\工具\转储\松鼠-3.4.0"
地点?
我想这样做的原因是让我的松鼠在机器之间轻松移动; 我可以把应用程序转储,我将准备好继续使用任何机器.
还有一个Squirrel-sql发行版没有安装; 而只是一个简单的zip文件,我可以解压缩到任何位置,并开始工作?
alt text http://www.freeimagehosting.net/uploads/64fac9c8c4.gif
是否可以从所有表生成sql脚本?我想生成sql脚本并导入到另一个数据库服务器
我使用squirrel 3.2.0当我尝试更换此触发器时:
CREATE OR REPLACE TRIGGER crw_ins_trig
BEFORE INSERT OR UPDATE ON crew
FOR EACH ROW
DECLARE
BEGIN
if (:new.crw_id is null) then
select crw_id_seq.nextval
into :new.crw_id
from dual;
end if;
END;
/
Run Code Online (Sandbox Code Playgroud)
我收到消息"请输入参数值.值为':new'"
单击"确定"后,结果消息为:
Warning: Warning: execution completed with warning
SQLState: null
ErrorCode: 17110
Position: 27
Query 1 of 1, Rows read: 0, Elapsed time (seconds) - Total: 0.023, SQL query: 0.023, Building output: 0
Run Code Online (Sandbox Code Playgroud)
在我的应用程序中,我收到错误 "ORA-04098: trigger 'CRW_INS_TRIG' is invalid and failed re-validation"
这与Squirrel有关吗?如果是这样,我该如何解决?
我有一个PostgreSQL 9.3.4数据库的以下函数定义:
CREATE OR REPLACE FUNCTION update_modified_timestamp()
RETURNS TRIGGER AS $$
BEGIN
NEW.modified_at = now();
RETURN NEW;
END;
$$ LANGUAGE plpgsql;
Run Code Online (Sandbox Code Playgroud)
当我尝试在SQuirreL(3.5.3或3.6)中执行此操作时,我收到以下错误:
Error: ERROR: unterminated dollar-quoted string at or near "$$
BEGIN
NEW.modified_at = now()"
Position: 77
SQLState: 42601
ErrorCode: 0
Run Code Online (Sandbox Code Playgroud)
到目前为止,我已经了解到这可以通过使用单引号来分隔函数体来缓解:
CREATE OR REPLACE FUNCTION update_modified_timestamp()
RETURNS TRIGGER AS '
BEGIN
NEW.modified_at = now();
RETURN NEW;
END;
' LANGUAGE plpgsql;
Run Code Online (Sandbox Code Playgroud)
我仍然想知道这是否无法解决 - 我认为必须有可能,因为Flyway可以执行此脚本并且它使用在SQuirreL中配置的完全相同的JDBC驱动程序.
更新: @a_horse_with_no_name指出此错误与JDBC驱动程序无关,而是与SQuirreL如何解析SQL语句并在将它们发送到数据库之前将其拆分为块.因此剩下的问题是:SQuirreL可以发送原始/未解析的查询吗?我搜索了很多,找不到办法做到这一点.
我能够为Oracle数据库创建存储过程,但现在我无法弄清楚如何运行它.我正在使用SQuirrel SQL,这有助于创建过程:
CREATE OR REPLACE PROCEDURE MyProc(label IN varchar2, results OUT sys_refcursor) AS
BEGIN
OPEN results FOR
SELECT Label, Count, Timestamp
FROM table1
LEFT JOIN table2 ON table1.Name=table2.Name
WHERE table1.Label=label
ORDER BY Timestamp;
END;
/
Run Code Online (Sandbox Code Playgroud)
我希望能够获得并显示结果集.我尝试过使用call MyProc('param'),但这不起作用(错误的参数数量错误).我在这个网站和其他网站上进行了广泛的搜索,但没有任何用处.请帮忙!
我使用SQuirrel SQL Client连接和浏览我的oracle数据库服务器.我已在连接URL本身中提供了凭据.但它仍然提示输入用户名和密码.在建立连接时是否真的需要提供额外的用户名/密码.它不会从连接URL中获取它吗?
jdbc:oracle:thin:username/password@my.oracle.server.domain.com:1521:DBName
Run Code Online (Sandbox Code Playgroud) 如何为DB2访问配置SQuirreL.
在SQuirreL中,我确实看到了两个DB2驱动程序.但它们都标有红色X.
我查看了Start Page但没有找到一个简单的解决方案:/
我现在已经尝试使用 SQuirreL 连接到外部 DB2 数据库 2 天。我总是收到错误:
[jcc][t4][2030][11211][3.58.82] A communication error occurred during operations
on the connection's underlying socket, socket input stream, or socket output
stream. Error location: Reply.fill(). Message: Insufficient data.
ERRORCODE=-4499, SQLSTATE=08001
Run Code Online (Sandbox Code Playgroud)
我正在使用 IBM DB2 通用 JDBC 驱动程序 v9.7 FP5。我也尝试过 v9.5。
一件事是 DB2 通过 Putty 建立隧道。服务器运行Linux和IBM DB2 v7.1。我用的是Win7x64。
我在网上浏览了许多涵盖此错误的论坛主题,但没有一个真正对我有用。(即iReport 到 DB2 连接 ERRORCODE=-4499,SQLSTATE=08001)
首先,我认为这可能与未正确建立隧道的端口有关。但我从 Putty 会话配置中删除了端口,并发生了不同的错误。
问题的堆栈跟踪:
com.ibm.db2.jcc.am.io: [jcc][t4][2030][11211][3.58.82] A communication error
occurred during operations on the connection's underlying socket, socket input
stream, or socket output …Run Code Online (Sandbox Code Playgroud) 尝试使用SQuirreLSQL连接到数据库时遇到以下错误.
错误:
Run Code Online (Sandbox Code Playgroud)Unexpected Error occured attempting to open an SQL connection
堆栈跟踪 :
java.util.concurrent.ExecutionException: java.lang.RuntimeException: java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver
at java.util.concurrent.FutureTask.report(FutureTask.java:122)
at java.util.concurrent.FutureTask.get(FutureTask.java:202)
at net.sourceforge.squirrel_sql.client.mainframe.action.OpenConnectionCommand.awaitConnection(OpenConnectionCommand.java:132)
at net.sourceforge.squirrel_sql.client.mainframe.action.OpenConnectionCommand.access$100(OpenConnectionCommand.java:45)
at net.sourceforge.squirrel_sql.client.mainframe.action.OpenConnectionCommand$2.run(OpenConnectionCommand.java:115)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)
Caused by: java.lang.RuntimeException: java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver
at net.sourceforge.squirrel_sql.client.mainframe.action.OpenConnectionCommand.executeConnect(OpenConnectionCommand.java:175)
at net.sourceforge.squirrel_sql.client.mainframe.action.OpenConnectionCommand.access$000(OpenConnectionCommand.java:45)
at net.sourceforge.squirrel_sql.client.mainframe.action.OpenConnectionCommand$1.run(OpenConnectionCommand.java:104)
... 5 more
Caused by: java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at net.sourceforge.squirrel_sql.fw.util.MyURLClassLoader.findClass(MyURLClassLoader.java:209)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:270)
at net.sourceforge.squirrel_sql.fw.sql.SQLDriverManager.getConnection(SQLDriverManager.java:128)
at …Run Code Online (Sandbox Code Playgroud) squirrel-sql ×10
java ×3
jdbc ×3
oracle ×3
db2 ×2
installation ×1
ojdbc ×1
plpgsql ×1
postgresql ×1
sql ×1
sql-server ×1