web-dev-qa-db-fra.com

Comment obtenir SSMS utiliser le chemin relatif du script actuel avec: r en mode SQLCMD comme SSDT le fait?

Si j'ai FOO.SQL et BAR.SQL dans le même dossier, FOO.SQL peut référence à la bar.SQL lorsqu'il est exécuté à partir de SSDT en mode SQLCMD avec :r ".\bar.sql". Cependant, SSMS ne le trouvera pas. Procmon montre que SSMS recherche dans %systemroot%\syswow64:

Annotated Procmon screenshot

Comment puis-je dire SSMS de regarder dans le dossier que le script actuel est enregistré sans déclarer explicitement le chemin?

11
Justin Dearing

Je pourrais avoir tort, mais je ne pense pas que c'est possible. Veuillez consulter ces liens pour un exemple de ce que d'autres ont fait (aucun n'est idéal).

https://stackoverflow.com/questions/8753541/how-a-get-the-relative-path-of-file-in-sqlcmd-mode-in-ssms

http://boardreader.com/thread/specifiant_relative_path_to_r_command_in_lmlz__f0c78408-E001-48A2-8369-338C9534F496.html

5
SQL Hammer

Je recommande de sauvegarder votre fichier de variables SQLCMD dans 'C:\users\Your_nt_login_name\AppData\local\Temp' et référencez-le de tous mes projets en tant que $ (TEMP)\sqlcmd_variables.sql.

2
Vernon Jimmerson