SQLCL正是我所需要的,但我在一件小事上遇到了很大的困难:
我想制作一个带有自动连接的脚本(批处理文件),并且只是在EXPORT CSV之后(在远程桌面上:不在服务器上).
所以我在批处理文件中使用带有SQLCL的管道方法:
echo SET SQLFORMAT CSV <
echo SPOOL export.csv <
echo SELECT COUNT(*) FROM ARTICLE; <
echo SPOOL OFF | C:\Work\Soft\sqlcl\bin\sql.exe login/passwd@xxx.xxx.xxx.xxx:1521/DB.SCH
Run Code Online (Sandbox Code Playgroud)
它正在工作(在控制台中没有错误),但是,找不到文件export.csv:当我改变目的地时,c:\...它也在工作,但是找不到创建的文件.它与SQL Developer一起正常运行,文件在我的dekstop上创建,所以我不明白为什么SQLCL的情况不同.
我在Access数据库上工作,我必须使用与SQL Server的数据源连接.
为此,我使用ADODB对象:
-ADODB.Connection
-ADODB.Recordset
代码是最新的,在观察了Ian Kenney之后
Dim cnn As ADODB.Connection
Set cnn = New ADODB.Connection
Dim rs As ADODB.Recordset
cnn.ConnectionString = "driver={SQL Server};provider=SQLOLEDB;server=10.****;uid=****readonly;pwd=****readonly;database=****"
cnn.Open
Set rs = cnn.Execute("SELECT [MATRI], [NOMPRE] FROM SCHEME_DB.TABLE WHERE NOMPRE LIKE '*" & Me.Textbox_recherche.Text & "*'")
Me.Liste_choix.RowSourceType = "Table/List"
Me.Liste_choix.Recordset = rs
rs.Close
cnn.Close
Run Code Online (Sandbox Code Playgroud)
(此代码(代码的一部分)是一种使用TextBox和ListBox在Access中执行自动完成的方法)
当我运行此代码时出现错误91:"错误91:对象变量或未设置块变量".
我不明白如何解决这个问题.
提前致谢.
我正在研究PostgreSQL数据库,我试图nextval通过简单的Java查询来恢复序列,但是它不起作用:
Query q = entityManager.createQuery("SELECT nextval(numcallcartnewcart) as num");
BigDecimal result=(BigDecimal)q.getSingleResult();
return result.longValue();
Run Code Online (Sandbox Code Playgroud)
(当然它不是最好的解决方案,但是我不能做得更好,因为我被Hibernate配置阻止了复合id标签,它不接受这样的生成器序列:
<column name="num_call" />
<generator class="sequence">
<param name="sequence">numcallcartnewcart</param>
</generator>
Run Code Online (Sandbox Code Playgroud)
进入key-property标签:
<key-property name="numCall" type="int">
<column name="num_call"/>
</key-property>
Run Code Online (Sandbox Code Playgroud)
)以下是Query的错误:
\-[METHOD_CALL] MethodNode: '('
+-[METHOD_NAME] IdentNode: 'nextval' {originalText=nextval}
\-[EXPR_LIST] SqlNode: 'exprList'
\-[IDENT] IdentNode: 'numcallcartnewcart' {originalText=numcallcartnewcart}
at org.hibernate.hql.ast.tree.SelectClause.initializeExplicitSelectClause(SelectClause.java:154)
at org.hibernate.hql.ast.HqlSqlWalker.useSelectClause(HqlSqlWalker.java:845)
at org.hibernate.hql.ast.HqlSqlWalker.processQuery(HqlSqlWalker.java:633)
Run Code Online (Sandbox Code Playgroud)
它与createNativeQuery或多或少相同(但不是相同的错误):
Caused by: org.postgresql.util.PSQLException: ERROR: column « numcallcartnewcart » does not exist
Position: 16
at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2101)
at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1834)
Run Code Online (Sandbox Code Playgroud)
编辑:报价
Query q = entityManager.createNativeQuery("SELECT nextval('numcallcartnewcart') as num");
BigDecimal result=(BigDecimal)q.getSingleResult();
return …Run Code Online (Sandbox Code Playgroud) autocomplete ×1
batch-file ×1
hibernate ×1
hql ×1
listbox ×1
ms-access ×1
postgresql ×1
recordset ×1
scripting ×1
sqlcl ×1